AW: Formeln in Bereich eintragen
17.04.2014 09:26:07
Klaus
Hallo Erich (und Thorsten und Phillip),
.end(xldown) springt zur nächsten leeren Zelle. Funktioniert natürlich nur, wenn die Zelle wirklich leer ist und nicht per Formel auf ="" gesetzt wurde.
Sub Thorsten()
Dim lastLine As Long, lngAnz As Long
lastLine = 1
lngAnz = Cells(lastLine, 1).End(xlDown).Row
Range("V" & lastLine).Resize(lngAnz).FormulaLocal = _
"=SVERWEIS(ZEILE(A" & lastLine & ");KST!$A$1:$C$117;3;FALSCH)"
End Sub
oder noch kürzer:
Sub Thorsten()
Const lastLine As Long = 1
Range("V" & lastLine).Resize(Cells(lastLine, 1).End(xlDown).Row).FormulaLocal = _
"=SVERWEIS(ZEILE(A" & lastLine & ");KST!$A$1:$C$117;3;FALSCH)"
End Sub
Hat natürlich den Nachteil, wenn man mal ausversehen LastLine bereits auf die letzte Zeile gesetzt hat, wird bis Zeile 1048576 ausgefüllt (und Excel crasht sehr warscheinlich). Auf 5000 Zeilen (Wert aus der Luft gegriffen) begrenzt:
Sub Thorsten()
Const lastLine As Long = 1
If Not Cells(lastLine, 1).End(xlDown).Row > 5000 Then
Range("V" & lastLine).Resize(Cells(lastLine, 1).End(xlDown).Row).FormulaLocal = _
"=SVERWEIS(ZEILE(A" & lastLine & ");KST!$A$1:$C$117;3;FALSCH)"
End If
End Sub
Grüße,
Klaus M.vdT.