Wie verwende ich die For Each…Next-Anweisung in VBA?

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.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project