Letzte Zeile, letzte Spalte und letzte Zelle per VBA ermitteln
101012
Nachfolgend sehen Sie einige Makros, mit denen die letzte Zeile, die letzte Spalte bzw. die letzte Zelle ermittelt werden kann. Die Erläuterungen zu den einzelnen Makros finden Sie als Kommentar im Code.
Wir empfehlen nicht mit absoluten Zeilenangaben zu arbeiten, wie im Beispiel 1b gezeigt, da diese nicht in den unterschiedlichen Excel-Versionen arbeiten. Wenn Version 1b verwendet wird, so arbeiter der VBA-Code entweder bis Excel 2003 oder ab Excel 2007.
Version 1a:
Public Sub letzte_zeile_1()
'Hier wird die letzte Zeile ermittelt
'Egal in welcher Spalte sich die letzte Zeile befindet
'Es werden alle Spalten geprüft und die letzte Zeile ausgegeben
letztezeile = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
MsgBox letztezeile
End Sub
Version 1b:
Public Sub letzte_zeile_2()
'Hier wir die letzte Zeile der Spalte A ermittelt
'letztezeile = ActiveSheet.Cells(65536, 1).End(xlUp).Row 'Bis Excel 2003
letztezeile = ActiveSheet.Cells(1048576, 1).End(xlUp).Row 'Ab Excel 2007
MsgBox letztezeile
End Sub
Version 1c: (Wird bei Excel-Inside als Standardversion verwendet, da damit eine Versionsunabhängige Funktionsweise garantiert ist)
Public Sub letzte_zeile_3()
'Hier wir die letzte Zeile der Spalte A ermittelt
letztezeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
MsgBox letztezeile
End Sub
Version 1d:
Public Sub letzte_spalte_1()
'Hier wird die letzte Zeile ermittelt
'Egal in welcher Spalte sich die letzte Zeile befindet
'Es werden alle Spalten geprüft und die letzte Zeile ausgegeben
letztespalte = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Column
MsgBox letztespalte
End Sub
Version 2a:
Public Sub letzte_spalte_2()
'Hier wird die letzte spalte der Zeile 4 ermittelt
letztespalte = Sheets(1).Cells(4, 256).End(xlToLeft).Column
MsgBox letztespalte
End Sub
Version 2b:
Public Sub letzte_zelle_1()
'Mit diesem Makro wird die Adresse der letzten Zelle (Zeile, Spalte) ermittelt
letztezelle = Range("A1").SpecialCells(xlCellTypeLastCell).Address
MsgBox letztezelle
End Sub
Version 2c:
Public Sub letzte_zelle_2()
'Mit diesem Makro wird die letzte Zelle markiert
Range("A1").SpecialCells(xlCellTypeLastCell).Select
End Sub












