Wie kann ich in einer Liste mit einem Makro nach der nächsten freien Zeile suchen? (Ich möchte damit den Druckbereich dynamischer festlegen lassen)
Vielen Dank für Eure Hilfe.
Mirko
Sub FIND_EMPTY_CELL()
Dim zeil As Integer, spalt As Integer
Dim z As Integer, s As Integer
zeil = ActiveSheet.UsedRange.Rows.Count 'letzte ausgefüllte Zeile
spalt = ActiveSheet.UsedRange.Columns.Count 'letzte ausgefüllte Spalte
For z = 1 To ActiveSheet.UsedRange.Rows.Count 'mit Zeilen anfangen
'Spalte für Spalte der obigen Zeile durchsuchen
For s = 1 To ActiveSheet.UsedRange.Columns.Count
If IsEmpty(Range(Cells(z, s), Cells(z, s)).Value) = True Then
'leere Zelle gefunden
Range(Cells(z, s), Cells(z, s)).Select 'gefundene Zelle selektieren
'Makro verlassen
Exit Sub
End If
Next s
Next z
End Sub
Um die nächste leere Zeile in Excel mithilfe von VBA zu finden, kannst du folgendes Makro verwenden:
ALT
+ F11
, um den VBA-Editor zu öffnen.Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.Sub FIND_NEXT_EMPTY_ROW()
Dim nextEmptyRow As Long
nextEmptyRow = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Cells(nextEmptyRow, 1).Select
End Sub
Mit diesem Makro hast du die Möglichkeit, die nächste leere Zeile in Excel zu finden und kannst es anpassen, um in andere Spalten zu suchen.
Fehler: Das Makro findet die nächste leere Zeile nicht.
1
in Cells(Rows.Count, 1)
in die gewünschte Spaltennummer, um die leeren Zellen in einer anderen Spalte zu finden.Fehler: Das Makro wählt eine falsche Zeile aus.
xlUp
verwenden, um die letzte ausgefüllte Zeile korrekt zu identifizieren.Es gibt verschiedene Möglichkeiten, die erste leere Zeile in VBA zu finden:
UsedRange
:Sub FIND_EMPTY_CELL()
Dim zeil As Long
zeil = ActiveSheet.UsedRange.Rows.Count + 1
Cells(zeil, 1).Select
End Sub
Find
:Sub FIND_NEXT_EMPTY_CELL()
Dim rng As Range
Set rng = Range("A:A").Find(What:="", LookIn:=xlValues, LookAt:=xlWhole)
If Not rng Is Nothing Then
rng.Select
End If
End Sub
Beide Methoden sind effektiv, um die nächste leere Zelle in einer Spalte zu finden.
Hier sind einige praktische Beispiele zur Verwendung der oben genannten Makros:
Sub WRITE_IN_NEXT_EMPTY_ROW()
Dim nextEmptyRow As Long
nextEmptyRow = Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
Cells(nextEmptyRow, 2).Value = "Neuer Eintrag"
End Sub
Sub FORMAT_FIRST_EMPTY_CELL()
Dim rng As Range
Set rng = Range("A1:A100").Find(What:="", LookIn:=xlValues, LookAt:=xlWhole)
If Not rng Is Nothing Then
rng.Interior.Color = RGB(255, 255, 0) ' Gelb markieren
End If
End Sub
UsedRange
-Eigenschaft, um die Leistung zu verbessern, besonders bei großen Datensätzen.1. Wie finde ich die letzte leere Zeile in Excel?
Du kannst die letzte leere Zeile mit Cells(Rows.Count, 1).End(xlUp).Row
ermitteln. Dies gibt dir die letzte ausgefüllte Zeile zurück.
2. Wie kann ich in die nächste leere Zeile schreiben?
Nutze das Makro, das die nächste leere Zeile sucht, und weise der Zelle dann einen Wert zu, z.B. Cells(nextEmptyRow, 1).Value = "Text"
.
3. Gibt es eine Möglichkeit, die nächste freie Zeile in mehreren Spalten zu finden?
Ja, du kannst eine Schleife über die Spalten verwenden, um die erste leere Zelle in jeder Spalte zu finden.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen