Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Nächste freie Zeile in Bereich suchen

Forumthread: Nächste freie Zeile in Bereich suchen

Nächste freie Zeile in Bereich suchen
19.04.2025 10:02:20
Stefan
Hallo zusammen,

ich habe mir einen Code erstellt, der in Spalte C die nächste freie Zeile sucht und die Zeile dann in die Zelle (H6) schreibt. Das funktioniert soweit ganz gut.

Nun habe ich aber folgendes Problem, ich möchte die Suche nur auf den Bereich C6 : C16 begrenzen. Wie kann ich das sinnvoll machen?
Ist z.B. die Zelle C8 leer, dann soll auch die Zeile 8 ausgegeben werden und nicht z.B. 3, weil es die erste leere Zeile in diesem Bereich ist.

Falls es keine freie Zelle gibt, soll einfach der Wert null wiedergegeben werden. Kann mir hierzu jemand helfen?



Sub NächstefreieZeile_Phase()
Dim Zeilefinden As Range

Set Zeilefinden = Columns(3).Find("", Range("C" & Rows.Count), xlFormulas, xlWhole, , xlNext)

If Not Zeilefinden Is Nothing Then

Range("H6") = Zeilefinden.Row

End If
End Sub


Beispieldatei hänge ich auch an.
https://www.herber.de/bbs/user/177099.xlsm

Vielen lieben Dank für die Hilfe...
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nächste freie Zeile in Bereich suchen
19.04.2025 10:19:41
Alwin Weisangler
Hallo Stefan,

es wird immer bis über 1 Mio mögliche leere (freie Zellen) in einer Spalte geben.
Es sei denn du verwendest ein Listobjekt, was leere Zellen in Spalte C enthält.
Was du machen kannst um nur leere Zellen innerhalb eines ausgefüllten Bereichs (maximal benutzte Zeilenzahl) abzufragen, ist diese Zeilennummer festzulegen (Range definieren).


Set Zeilefinden = Range("C1:C" & letzte Zeile).Find....

Die letzte Zeile kann man festlegen oder so:


letztezeile =Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row ' 1 = die Spalte A
letztezeile = Tabelle1.UsedRange.SpecialCells(xlCellTypeLastCell).Row


Gruß Uwe
Anzeige
AW: Nächste freie Zeile in Bereich suchen
19.04.2025 11:03:17
Daniel
Hi

With Range("C6:C16")

If(WorksheetFunction.Countblanks(.Cells) = 0 then
Range("H6") = 0
Else
Range("H6") = .SpecialCells(xlcelltypeblanks)(1).row
End if
Next


Bin mir jetzt nicht sicher, ob Countblanks am Ende mit "s" geschrieben wird oder nicht

Alternativ auch per Formel.
=WENNFEHLER(VERGLEICH("";C6:C16&"";0)+ZEILE(C6)-1;0)

Ggf ist in deiner Version die Eingabe mit STG+SHIFT+ENTER abzuschließen.
Anzeige
AW: Nächste freie Zeile in Bereich suchen
19.04.2025 21:35:15
Stefan
Hi Daniel,

vielen Dank. Ich habe es getestet aber leider hat es mir immer eine Fehlermeldung gebracht. Auch wenn ich Countblank(s) mit und ohne s geschrieben habe.
In der Zwischenzeit haben mich aber viele Lösungen erreicht und mit einer bin ich jetzt auch sehr gut ans Ziel gekommen.

Vielen lieben Dank für die Hilfe aber das hat sich dann auch erledigt.

VG
Stefan
Anzeige
AW: Nächste freie Zeile in Bereich suchen
19.04.2025 12:04:51
GerdL
Moin
Dim Zeile As Long


If WorksheetFunction.CountBlank(Range("C6:C16").Cells) > 0 Then
Zeile = Range("C6:C16").SpecialCells(xlCellTypeBlanks)(1).Row
End If

Range("H6") = Zeile


Gruß Gerd
AW: Nächste freie Zeile in Bereich suchen
19.04.2025 21:28:53
Stefan
Super, das funktioniert exakt wie es soll!

Sehr nett und Danke für die Hilfe!!!
Anzeige
AW: Nächste freie Zeile in Bereich suchen
19.04.2025 10:34:59
Stefan
Hallo Uwe,

danke für deine Hilfe und ja du hast natürlich mit der Anzahl der leeren Zellen vollkommen recht, daher möchte ich das auch nur auf einen speziellen Bereich begrenzen.

Wenn ich ich jetzt meinen Code in der Zeile so verändere bekomme ich aber gleich eine Fehlermeldung:



Set Zeilefinden = Range("C6:C16").Find("", Range("C" & Rows.Count), xlFormulas, xlWhole, , xlNext)
Anzeige
AW: Nächste freie Zeile in Bereich suchen
19.04.2025 11:03:47
Alwin Weisangler
Hallo Stefan,



Sub test1()
Dim rngLeer As Range
With Tabelle1
Set rngLeer = .Range("C6:C16").Find("")
MsgBox "leere Zelle ist " & .Range("C" & rngLeer.Row).Address
End With
End Sub

das funktioniert ganz ohne Probleme.
Wenn aber Leezeichen oder unsichtbare Zeichen in der Zelle wird dies natürlich nicht als leer erkannt.

Gruß Uwe
Anzeige
AW: Nächste freie Zeile in Bereich suchen
19.04.2025 21:31:23
Stefan
Hallo Uwe,

ja du hast Recht. Ich habe es gerade getestet und es funktioniert. Tatsächlich habe ich mich aber für eine andere Lösung entschieden, da mir diese mehr half für die nächsten Schrittte. Aber vielen lieben Dank!

Gruß
Stefan
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18