vba excel 2013 dynamische range formule kopieren tot laatste gevulde cel

Status
Niet open voor verdere reacties.

piet1234

Gebruiker
Lid geworden
1 apr 2011
Berichten
20
Hallo allemaal,

heb het internet al even doorgezocht maar krijg het een en ander niet werkend.

Hier de code die ik heb en werkt maar niet dynamisch.

Sub Artikelomschrijving_Ophalen()

Range("S2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Artikelen!R2C1:R10000C3,3,FALSE)"
Selection.AutoFill Destination:=Range("S2:S817")
Range("S2:S817").Select
Range("S2").Select

End Sub

Ik zou graag willen dat de S817 dynamisch wordt.
Iedereen alvast bedankt voor het meedenken.

M.v.g.

Piet
 
Je kunt de laatst gebruikte regel ophalen met: Range("S1048576").End(xlUp).Row
Dus probeer deze eens:

Code:
Sub Artikelomschrijving_Ophalen()
    Dim LastRow as integer

    LastRow = Range("S1048576").End(xlUp).Row
    Range("S2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Artikelen!R2C1:R10000C3,3,FALSE)"
    Selection.AutoFill Destination:=Range("S2:S" & LastRow)
    Range("S2:S" & LastRow).Select
    Range("S2").Select
End Sub

De waarde voor LastRow wordt in het voorbeeld van kolom S gehaald, wellicht dat je dat nog moet wijzigen.
 
Laatst bewerkt:
En als je het aantal rijen niet kan onthouden net als ik.
De 19 is kolom 19 → kolom S.
Code:
lastrow = cells(rows.count,19).end(xlup).row
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan