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

Dauerbrenner: erste FREIE ZEILE

Forumthread: Dauerbrenner: erste FREIE ZEILE

Dauerbrenner: erste FREIE ZEILE
11.11.2003 14:40:37
Markus
Hallo,
das ist wirklich ein Klassiker, - ich suche etwas, was schnell die erste freie Zeile findet.
Man denkt ja meistens, man kann LetzteZeile = Worksheets("ArtWahl").Cells(Rows.Count, 2).End(xlUp).Row nehmen und dann LetzteZeile = LetzteZeile + 1.
Aber: Dieser Code liefert, wenn das Blatt leer ist: LetzteZeile = 1 und wenn nur in der ersten Zeile etwas steht auch die 1. Das ist dann natürlcih strenggenommen nicht korrekt. Wer weiss also etwas schnelles, ohne Loop u.dgl., dass die erste freie Zeile liefert (wäre bei einem leeren Blatt die 1, bei einem, wo etwas nur in Zeile 1 steht, die 2)?

Markus
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Dauerbrenner: erste FREIE ZEILE
11.11.2003 14:44:42
Russi
Hallo Markus!

Vielleicht hilft Dir das:

Rows.SpecialCells(xlCellTypeLastCell).Rows.Activate

Viele Grüße

Russi
AW: Dauerbrenner: erste FREIE ZEILE
11.11.2003 14:48:44
Markus
Hallo,

danke, das liefert mir aber nicht den Wert, oder?

Markus
AW: Dauerbrenner: erste FREIE ZEILE
11.11.2003 14:59:42
Russi
Äh...nö.

Welche Wert meinst Du? Denn Zellinhalt erhälst Du wie folgt:

debug.print Rows.SpecialCells(xlCellTypeLastCell).value

Die Adresse der betreffenden Zelle erhälst Du mit:

debug.Print cells.SpecialCells(xlCellTypeLastCell).Address

Russi
Anzeige
AW: Dauerbrenner: erste FREIE ZEILE
11.11.2003 14:52:11
Heinrich M.
Du kannst auch folgenden Code benutzen, auch wenn der etwas länger läuft ;-)

rownum = 0
Range("A1").Select
Do While Application.ScreenUpdating = True
If ActiveCell.Value = "" Then
Application.ScreenUpdating = False
Else
rownum = rownum + 1
ActiveCell.Offset(1, 0).Select
End If
Loop
Range("A1").Offset(rownum, 0).Select

Viele Grüsse,

Heinrich
Anzeige
AW: Dauerbrenner: erste FREIE ZEILE
11.11.2003 14:54:30
Markus
Hallo Heinrich,
tut mir leid, da bin ich ein Nörgler: das ist zu langsam, da kann man ja auch mit dem alten Code arbeiten, und den Fall das die erste Zeile gefüllt ist, als einzige abfangen mit der Abfragen: if LetzteZeile = 1 ABER Cells (1,1) <> "" then ....
Markus
oder so
11.11.2003 15:18:07
IngoG
Hallo Markus,
addiere doch einfach nicht 1 sondern

(Worksheets("ArtWahl").Cells(letzteZeile, 2).value<>"")

also

LetzteZeile = LetzteZeile + (Worksheets("ArtWahl").Cells(letzteZeile, 2).value<>"")

sollte funktionieren

Gruß Ingo
Anzeige
AW: Dauerbrenner: erste FREIE ZEILE
11.11.2003 15:33:38
FP
Hallo Markus,

Funktion: FirstFreeLine
Parameter:
intCol: Spaltennummer - optional - Standard = Spalte 1 (A)
wsObj: Blatt (Objekt!) - optional - Standard = aktives Blatt

Rückgabe: 1.leere Zeile lt. Spalte intCol

Public

Function FirstFreeLine(Optional intCol As Integer, Optional wsObj As Worksheet) As Long
If wsObj Is Nothing Then Set wsObj = ActiveSheet
intCol = IIf(intCol = 0, 1, intCol)
FirstFreeLine = Cells(Rows.Count, intCol).End(xlUp).Row
If Not IsEmpty(Cells(FirstFreeLine, intCol)) Then FirstFreeLine = FirstFreeLine + 1
End Function


Servus aus dem Salzkammergut
Franz
Anzeige
Danke, Franz
11.11.2003 15:38:03
Markus
Halo Franz,

das war es wirklich - gewonnen!

Vielen Dank,

Markus
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige