• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Gegevens automatisch aanpassen

Status
Niet open voor verdere reacties.

DeArie

Gebruiker
Lid geworden
15 jul 2016
Berichten
126
Goedemorgen,

Graag zou ik door een knop of iets dergelijks gegevens aanpassen.

Het betreft het aanpassen van prijzen van facturen. De ene keer moet de klant de postzegelprijs betalen de andere keer moet er het frankeertarief betaald worden en er zijn er bij die een korting op het frankeertarief krijgen.

De gegevens zouden veranderd moeten worden als er in een cel in kolom 2 bv: Brieven Binnenland 20 - 50 gr staat dan een druk op de knop "frankeertarief" dat dan een cel in kolom E aangepast wordt naar het frankeertarief. en eventueel gelijk ook de korting eraf getrokken wordt van het frankeertarief.

Nu heb ik via dit mooie forum al de volgende code verkregen

Code:
Sub FacturenAanpassen()
      Application.ScreenUpdating = False
      For Each sh In Sheets
        With sh.Cells(10, 1).CurrentRegion
          ar = .Resize(.Rows.Count + 2).Value
          For j = 1 To UBound(ar) - 2
            ar(j, 4) = ar(j, 4) / ar(j, 3)
            ar(j, 5) = ar(j, 4) * ar(j, 3)
            ar(j, 6) = ar(j, 5) * 1.21
            t1 = t1 + ar(j, 3)
            t2 = t2 + ar(j, 5)
            t3 = t3 + ar(j, 6)
          Next j
          ar(j + 1, 3) = t1
          ar(j + 1, 5) = t2
          ar(j + 1, 6) = t3
          .Resize(UBound(ar)) = ar
        End With
        sh.Range("C:F").HorizontalAlignment = xlCenter
        sh.Range("D:D,F:F").Columns.Insert
        sh.Columns(6).Insert
        sh.Cells(j + 10, 3).Resize(, 7).Borders(xlEdgeTop).Weight = xlMedium
        sh.Cells(j + 10, 3).NumberFormat = "General"
        sh.Cells(j + 10, 7).Resize(, 3).NumberFormat = "$ #,##0.00"
        t1 = 0: t2 = 0: t3 = 0
      Next sh
    End Sub

En is dan ook de vraag of het hiermee te combineren is? Dat hij dus bij elk tabblad vraagt of het veranderd moet worden naar frankeertarief en eventueel een korting erbij.

Is dit te realiseren?
 

Bijlagen

  • Test bestand 10-10.xlsx
    14,9 KB · Weergaven: 44
Beste,

Het bestand is niet compleet want het tabblad met facturen ontbreekt. Je hebt geen knop nodig en dus ook geen VBA. Met formule vert.zoeken kan je gegevens laten invullen vanuit de tabel met portkosten.
 
Beste,

Dank je wel voor je antwoord en excuus voor mijn late reactie was tijdelijk afwezig.

Dit werkt inderdaad en heb ik nu ook toegepast.

Is het mogelijk vert.zoeken een cel over te laten slaan als de opgegeven waarde niet in de tabelmatrix voorkomt? of moet ik dan een andere functie hebben?
 
Ik dacht dat het hiermee wel zou kunnen:

Code:
=ALS(ISNB(VERT.ZOEKEN(B10;[Map1]Blad1!$A$1:[Map1]Blad1!$B$25;2;0));"";VERT.ZOEKEN(B10;[Map1]Blad1!$A$1:[Map1]Blad1!$B$25;2;0))

Maar heb geen idee wat ik bij de twee "" zou moeten invullen
 
Beste,
Graag een voorbeeldbestand want ik moet de aanpassing van de formule kunnen uitproberen.
 
Beste,
In de plaats van de "" komt iets wat je wil zien als het antwoord op de formule als vert.zoeken neen is.
 
Beste,

Hierbij het voorbeeld bestandje.

de code is geplakt in cel D10, als ik deze naar beneden doortrek krijg ik bij cellen D 20,21 en D33 t/m 37 een foutmelding ( welke normaal is aangezien ze niet in de tabelmatrix voorkomen)
maar wat moet er dan ingevuld worden zodat hij de waarden die er nu staan gewoon laat staan en dus door gaat naar de volgende regel?
 

Bijlagen

  • Test bestand 28-10-2020.xlsx
    11,2 KB · Weergaven: 17
Beste,

Ik beschik momenteel niet over mijn laptop. In de namiddag kan ik het voor je uitzoeken.
 
Je kan niet en een formule en een waarde in 1 cel hebben staan. Als je er iets mee wil dan heb je of een hulpkolom of VBA nodig.
 

Bijlagen

  • Test bestand 28-10-2020.xlsx
    11,7 KB · Weergaven: 28
Beste VenA,

Dank voor het antwoord, heb met de macro recorder het volgende opgenomen:

Code:
Range("F10").Select
    ActiveCell.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-4],R10C12:R34C13,2,0),RC[-1])"
    Range("F10").Select
    Selection.AutoFill Destination:=Range("f10:F200")
    Range("f10:F200").Select
    Range("f10:f200").Copy
    Range("E10:E200").PasteSpecial Paste:=xlPasteValues
    Range("f10:f200").ClearContents

Nu zou de F200 aangepast moeten worden dat hij hem dus automatisch aanvult tot kolom E onderste rij nu ben ik hier al aan t zoeken geweest maar bij alles wat ik probeer krijg ik een fout melding.

Heb onder andere deze geprobeerd:
Code:
Range("F10:F").resize(usedrange.rows.count-4).Filldown

Maar dat werkt niet wat doe ik fout en welke kant moet ik opzoeken?
 
Waarom moet het met een macro dan? De opgenomen macro lost jouw probleem niet op. Of ik begrijp niet wat de bedoeling is. Waar gaat het nu om kolom D, Kolom E of kolom F?

Er is toch voldoende te vinden over hoe je de laatste ingevulde cel in een kolom moet zoeken?

Code:
lr = cells(rows.count,kolomnummer).end(xlup).row
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan