wie lasse ich eine for schleife von einem startwert (zeile) bis zum ende der spalte laufen?
wie lasse ich eine for schleife von einem startwert (zeile) bis zum ende der spalte laufen?
With Worksheets("Tabelle1")
Code eingefügt mit Syntaxhighlighter 1.14
iRowL = .Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 1 To iRowL
Dein Code
Next iRow
End With
Gruß
Lutz
Um eine For-Schleife in Excel VBA von einem bestimmten Startwert bis zum Ende der Spalte laufen zu lassen, befolge diese Schritte:
Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
Füge ein neues Modul hinzu, indem du im Menü auf Einfügen und dann auf Modul klickst.
Schreibe den folgenden Code in das Modul:
Sub SchleifeBisSpaltenende()
Dim iRowL As Long
Dim iRow As Long
With Worksheets("Tabelle1")
iRowL = .Cells(Rows.Count, 1).End(xlUp).Row ' Bestimmt die letzte belegte Zeile in Spalte A
For iRow = 1 To iRowL
' Dein Code hier
Next iRow
End With
End Sub
Ersetze Dein Code hier durch den spezifischen Code, den du ausführen möchtest.
Schließe den VBA-Editor und führe das Makro aus.
Fehler: „Objekt nicht gefunden“
Worksheets("Tabelle1") korrekt ist. Überprüfe die Schreibweise und ob die Tabelle existiert.Fehler: „Typ-Mismatch“
Falls du keine VBA verwenden möchtest, kannst du auch die folgenden Methoden in Excel nutzen:
SUMME() oder ZÄHLENWENN(), um Berechnungen ohne eine Schleife durchzuführen.Hier ist ein Beispiel, wie du die For-Schleife nutzen kannst, um die Werte in Spalte A zu verdoppeln:
Sub WerteVerdoppeln()
Dim iRowL As Long
Dim iRow As Long
With Worksheets("Tabelle1")
iRowL = .Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 1 To iRowL
.Cells(iRow, 1).Value = .Cells(iRow, 1).Value * 2
Next iRow
End With
End Sub
Dieses Skript durchläuft alle Zeilen in Spalte A und verdoppelt die Werte.
Verwende Application.ScreenUpdating = False: Dies verbessert die Leistung, indem es die Bildschirmaktualisierung während der Schleife deaktiviert.
Application.ScreenUpdating = False
' Dein Code hier
Application.ScreenUpdating = True
Fehlerbehandlung einbauen: Nutze On Error Resume Next, um sicherzustellen, dass dein Code auch bei Fehlern weiterläuft.
1. Wie finde ich die letzte Zeile in einer anderen Spalte?
Um die letzte Zeile in einer anderen Spalte zu finden, ändere den Parameter in Cells(Rows.Count, Spaltennummer).End(xlUp).Row.
2. Kann ich die Schleife auch für mehrere Spalten verwenden? Ja, du kannst die Schleife anpassen, um mehrere Spalten zu durchlaufen, indem du eine verschachtelte For-Schleife verwendest.