Nächste leere Excel-Zelle ausfindig machen
In vielen Makros sollen Daten kontinuierlich ergänzt werden. Dann ist es notwendig, die nächste Zelle in einer Spalte festzustellen, in die Sie Daten eingeben können. Das können Sie über eine Excel-Formel lösen.
Wenn Sie die letzte Zelle aber in einem Makro bestimmen möchten, brauchen Sie VBA-Befehle. Es gibt mehrere Ansätze, die Aufgabe zu lösen. Hier ist ein passendes Makro:
Sub SucheFreieZelle()
Dim Zelle As Range
Dim Maxzeile As Long
If Val(Left(Application.Version, 2)) > 11 Then
Maxzeile = 1048576
Else
Maxzeile = 65536
End If
Set Zelle = Cells(Maxzeile, 1).End(xlUp).Offset(1, 0)
MsgBox "Die nächste freie Zelle ist " & Zelle.Address(False, False)
End Sub
Nach dem Start bestimmt das Makro die nächste freie, nicht verwendete Zelle in Spalte A. Die Adresse dieser Zelle wird in einem Fenster angezeigt.
Das Makro adressiert die letzte Zeile in Spalte A der aktiven Tabelle und bestimmt von dort ausgehend die zuletzt verwendete Zelle darüber. Damit das Makro sowohl in Excel bis Version 2003 als auch in Excel ab Version 2007 funktioniert, erfolgt zu Beginn eine passende Fallunterscheidung. Diese Fallunterscheidung ist notwendig, weil sich Anzahl der verfügbaren Zeilen mit Version 2007 von 65536 auf 1048576 erhöht hat.
Falls Sie anstelle der freien Zelle in Spalte A die freie Zelle in einer Spalte feststellen möchten, ersetzen Sie die erste Zahl 1 in Klammern hinter dem Kommando Cells durch die Nummer der entsprechenden Spalte.
Tipp: Falls Sie wissen möchten, wie Sie Makros in Excel eingeben und starten, finden Sie hier eine Kurzbeschreibung: http://www.exceldaily.de/excel-makros-vba/artikel/d/so-geben-sie-makros-in-excel-ein.html