Microsoft Excel

Herbers Excel/VBA-Archiv

Erklärung

Betrifft: Erklärung von: Rolf Hörnig
Geschrieben am: 13.08.2020 09:22:14

Hallo, könnte mir jemand von euch erklären was genau diese Zeile hier bedeutet?

lngLetzte = IIf(IsEmpty(.Cells(Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)

beste Grüße und dankeschön!

Betrifft: AW: Erklärung
von: MCO
Geschrieben am: 13.08.2020 09:28:24

Hallo Rolf!

Zeilennummer = wenn letzteZeile in Spalte 1 ist leer, dann letzte gebrauchte Zeile in Spalte 1, ansonsten letzteZeile,

Gruß, MCO

Betrifft: AW: Erklärung
von: Nepumuk
Geschrieben am: 13.08.2020 09:34:49

Hallo Rolf,

Wenn (IIf) die letzte Zelle der Spalte A (.Cells(Rows.Count, 1)) leer ist (IsEmpty) dann gib die Letzte beschriebene Zeile aus Spalte A zurück (.Cells(Rows.Count, 1).End(xlUp).Row) wenn sie nicht leer ist, dann die letzte Zeile aus Spalte A.

Das ist ein Konstrukt von Hajo der Damit rechnet dass eine Spalte bis zur letzten Zeile gefüllt sein kann. Das macht für mich keinen Sinn denn dann Überschreibe ich die gefüllte Zelle. Ist mir noch nicht untergekommen, daher benutze ich immer das:

lngLastRow = .Cells(Rows.Count, 1).End(xlUp).Row

Gruß
Nepumuk

Betrifft: AW: Erklärung
von: Daniel
Geschrieben am: 13.08.2020 09:39:05

Hi

Das ermittelt die Zeilennummer der letzten befüllten Zelle in Spalte A durch Sprung von der letzen Zelle in Spalte A nach oben (.end(xlup) entspricht der Tastenfolge "Ende + Pfeil_Hoch)

Zusätzlich wird noch der Fall abgefragt, ob die letzte Zelle in Spalte A befüllt ist, denn in diesem Fall würde der Sprung nach oben ein unerwünschtes Ergebnis liefern.
Normalerweise kann man diese Prüfung aber weglassen, denn der Fall dass die letzte Zelle 1,04 Mio Zeilen!) ist sehr ungewöhnlich, und beschränkt sich auf:
lngLetzte = .Cells(Rows.Count, 1).End(xlUp).Row

So eine Abfrage würde ich dann machen, wenn ich einen begrenzten Eingabebereich habe, aber nicht bei einer kompletten Spalte.

Gruß Daniel

Betrifft: AW: Erklärung
von: Rolf Hörnig
Geschrieben am: 13.08.2020 10:00:03

Super.Vielen Dank für eure Eklärungen. Hat mir sehr geholfen.