Die `For Each…Next`-Anweisung in VBA (Visual Basic for Applications) wird verwendet, um durch alle Elemente in einer Sammlung oder einem Array zu iterieren. Diese Anweisung ist besonders nützlich, wenn Sie nicht wissen, wie viele Elemente sich in der Sammlung befinden, oder wenn Sie einfach durch alle Elemente durchgehen möchten, ohne einen Index zu verwenden.
Hier ist ein grundlegendes Beispiel, wie die `For Each…Next`-Anweisung verwendet wird:
Sub ForEachExample()
Dim cell As Range
Dim rng As Range
' Definieren Sie den Bereich, den Sie durchlaufen möchten
Set rng = ThisWorkbook.Sheets("Tabelle1").Range("A1:A10")
' Verwenden Sie For Each...Next, um durch jede Zelle im Bereich zu iterieren
For Each cell In rng
' Führen Sie eine Aktion für jede Zelle durch
If IsNumeric(cell.Value) Then
cell.Value = cell.Value * 2 ' Beispielaktion: Den Wert der Zelle verdoppeln
End If
Next cell
End Sub
Erklärungen:
- Dim cell As Range: Deklariert eine Variable `cell` des Typs `Range`, die jede Zelle im definierten Bereich `rng` repräsentiert.
- Set rng = ThisWorkbook.Sheets(“Tabelle1”).Range(“A1:A10”): Der Bereich `rng` wird auf die Zellen A1 bis A10 im Arbeitsblatt “Tabelle1” gesetzt.
- For Each cell In rng: Startet die Schleife, die jede Zelle im Bereich `rng` durchläuft.
- If IsNumeric(cell.Value) Then…: Führt eine Aktion aus, wenn der Wert der aktuellen Zelle numerisch ist.
- Next cell: Beendet den aktuellen Schleifendurchlauf und geht zur nächsten Zelle über.
Diese Struktur ist einfach anzupassen, um auf unterschiedlichen Arten von Sammlungen, wie Arrays oder anderen VBA-Objekten, zu arbeiten.