Autofill vult niet aan

Status
Niet open voor verdere reacties.

DeArie

Gebruiker
Lid geworden
15 jul 2016
Berichten
124
Goedemorgen,

Ik gebruik verticaal zoek en autofill voor mijn facturen te veranderen met de volgende code:

Code:
Sub TienProcent()


    Range("F10").Select

    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-4],Blad1!R28c1:Blad1!R52C2,2,0),rc[-1])"
    Range("F10").Select
    Dim lr As Long
    lr = Cells(Rows.Count, "E").End(xlUp).Row
    Selection.AutoFill Destination:=Range("f10:F" & lr)
    Range("f10:F" & lr).Select
    Range("f10:f" & lr).Copy
    Range("E10:E" & lr).PasteSpecial Paste:=xlPasteValues
    Range("f10:f" & lr).ClearContents
    
End Sub

Dit werkt goed en hij zet ook als hij niet in het verticaal zoeken staat de waarde uit de cel terug, alleen als ik maar 1 regel heb krijg ik een fout melding doordat hij de autofill niet kan doen.

Fout 1004 tijdens uitvoering, methode autofill van klasse range is mislukt. Begrijpelijk want er is dan niets dat hij kan autofillen.

Nu had ik de volgende code gevonden:

Code:
Sub Test()


    Range("F10").Select
    
    
    
  
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-4],Blad1!R55c1:Blad1!R79C2,2,0),rc[-1])"
    
    
    Dim lr As Long
    lr = Cells(Rows.Count, "E").End(xlUp).Row
    If lastrow > 2 Then Range("F10").AutoFill Destination:=Range("f10:F" & lr)
    
    
    Range("f10:F" & lr).Select
    Range("f10:f" & lr).Copy
    Range("E10:E" & lr).PasteSpecial Paste:=xlPasteValues
    Range("f10:f" & lr).ClearContents
  
    
End Sub

alleen deze werkt dus wel met 1 regel maar zodra het meerdere regels zijn vult hij alleen de eerste cel en de rest blijft blanco, en als de waarde niet in het verticaal zoeken voorkomen wist hij ook alle andere cellen

Kan iemand vertellen waarom?

alvast bedankt.
 

Bijlagen

  • Helpmij 11-1-2023.xlsx
    20,8 KB · Weergaven: 11
Dat is een .xlsx bestand en die bevat per definitie geen VBA code.
 
Edmoor,

Klopt stom. bij deze.
 

Bijlagen

  • Helpmij 11-1-2023.xlsm
    27,5 KB · Weergaven: 24
Probeer deze eens:

Code:
If lastrow > 2 Then .Range("f10").AutoFill Destination:=Range("f10:f" & lastrow)
 
Gebruik de ingebouwde mogelijkheden van Excel: gebruik een dynamische Tabel.
Dan heb je geen VBA nodig.
Het is ook handig als de opties in kolom B voorkomen in het tarievenoverzicht in Blad117.(aangetekend ontbreekt daar)

Er is geen enkele reden verschillende werkbladen te gebruiken naast het tarievenoverzicht.
Verlaat het 'papier'denken.
 
SjonR dank je wel, maar helaas doet deze hetzelfde als ik al heb.

snb ik gebruik meerdere werkbladen omdat het specificaties zijn voor facturen welke ik zo uit de machine haal. Deze kan/mag ik niet samenvoegen anders weet ik niet meer wat waarbij hoort.
 
Deze kan/mag ik niet samenvoegen anders weet ik niet meer wat waarbij hoort.

Hoezo ?
Dat blijkt nergens uit het bestand.
Waar komen die gegevens dan vandaan ?
 
Zonder kolom F.
Code:
Sub Test()
if activesheet.codename <> "Blad117" then
 x = Range("B10", Cells(Rows.Count, 2).End(xlUp)).Resize(, 4)
  sv = Blad117.Range("a55:b80")
  With Application
    sv = .IfError(.Index(sv, .Match(.Index(x, , 1), .Index(sv, , 1), 0), 2), .Index(x, , 4))
    Range("e10").Resize(UBound(sv)) = sv
  End With
end if
End Sub
 
Beste Snb, ik werk met een frankeermachine waar ik de tabbladen vandaan haal dit zijn de specificaties van wat mijn klanten verzonden hebben de afgelopen periode. Dit kunnen er wel tot 100 zijn
niet alle tabbladen moeten aangepast worden sommige krijgen andere kortingen dan de andere. vandaar de code, en ik had het er misschien bij moeten zetten dat ze niet samengevoegd konden/mochten worden. daar heb je een punt.

Beste Hsv, dank je wel dit werk perfect en snel. Zoals jij dit geschreven hebt kun je dat ook opnemen met de macro recorder of is dit "gewoon kennis"?
 
@DeA

Toch klopt je verhaal niet.
Met een tabel met een kolom voor het klantkenmerk, kun je per klant in hetzelfde werkblad met een filter op klantkenmerk en periode de gewenste overzichten maken.
Niet meer dan 1 werkblad nodig.
Zo handig is Excel als je weet hoe je ermee kunt werken.
Een Excel-cusrus is nooit weggegooid geld.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan