könnte mir bitte jemand diese Befehlszeile genauestens erklären!
rw1 = Cells(Rows.Count, 1).End(xlUp).Row
könnte mir bitte jemand diese Befehlszeile genauestens erklären!
rw1 = Cells(Rows.Count, 1).End(xlUp).Row
diese Anweisung ermiitelt die letzte Zeile i Spalte A, sie führt aber zu einem falschen Ergebnis falls A65536 gefüllt.
Gruß Hajo
das ist relativ einfach:
"rw1" ist eine Variable die einen Wert aufnehmen soll
"Cells" verweist auf die Zellen
"Rows.Count" ist eine Funktion welche die Anzahl Zeilen im Tabellenblatt zurückgibt ( = 65536)
",1" in welcher Spalte gesucht werden soll ( hier A)
".End" weisst EXCEL an, dass es dort beginnen soll zu zählen
"xlUp" ist die Richtung in welche EXCEL suchen soll
".Row" gibt die erste zeile von unten zurück, wo etwas drinsteht
Ausführlich genug ;-)
Gruss Rainer
rw1 = Cells(Rows.Count, 1).End(xlUp).RowUm die VBA-Anweisung rw1 = Cells(Rows.Count, 1).End(xlUp).Row genau zu verstehen, gehen wir die einzelnen Bestandteile durch:
Cells: Diese Funktion verweist auf eine spezifische Zelle im Arbeitsblatt.Rows.Count: Diese Funktion gibt die Anzahl der Zeilen im aktuellen Arbeitsblatt zurück. In Excel 2003 und älteren Versionen ist das 65536.1: Dieser Wert bedeutet, dass wir uns auf die erste Spalte (Spalte A) beziehen..End: Diese Methode sagt Excel, dass es in einer bestimmten Richtung suchen soll.xlUp: Dies bedeutet, dass Excel von der letzten Zeile nach oben sucht, um die erste gefüllte Zelle zu finden..Row: Dieser Teil gibt die Zeilennummer der gefundenen Zelle zurück.Die gesamte Anweisung ermittelt also die letzte gefüllte Zeile in Spalte A und speichert diese Zeilennummer in der Variablen rw1.
Fehler: Falsches Ergebnis bei voll gefüllter Spalte A
Fehler: Subscript out of range
Eine alternative Methode, um die letzte gefüllte Zeile in einer anderen Spalte zu finden, wäre:
rw1 = Cells(Rows.Count, 2).End(xlUp).Row
Hier wird die letzte gefüllte Zeile in Spalte B ermittelt.
Ermitteln der letzten gefüllten Zeile in Spalte A:
Dim rw1 As Long
rw1 = Cells(Rows.Count, 1).End(xlUp).Row
Ermitteln der letzten gefüllten Zeile und Hinzufügen einer neuen Zeile:
Dim rw1 As Long
rw1 = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(rw1, 1).Value = "Neuer Eintrag"
In diesen Beispielen wird die VBA-Anweisung Cells(Rows.Count, 1).End(xlUp).Row verwendet, um die letzte gefüllte Zeile zu bestimmen und darauf basierend neue Werte hinzuzufügen.
.End(xlUp) in Kombination mit .Offset für flexiblere Datenmanipulation.1. Was passiert, wenn alle Zellen in Spalte A leer sind? In diesem Fall gibt die Anweisung den Wert 1 zurück, da die erste Zeile immer existiert.
2. Wie kann ich die letzte gefüllte Zeile in einer anderen Spalte finden?
Ändere einfach den Spaltenindex in der Anweisung, z.B. für Spalte B: Cells(Rows.Count, 2).End(xlUp).Row.
3. Welche Excel-Versionen unterstützen diese Anweisung? Die VBA-Anweisung funktioniert in allen Versionen von Excel, die VBA unterstützen, einschließlich Excel 2003 und neuer.
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