Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

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

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
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
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

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige