Wie navigiere ich mit vba durch einen bereich?

Um einen Bereich in VBA zu durchlaufen, müssen Sie die Option „Für jede Schleife“ verwenden. Mithilfe dieser Schleife können Sie Code schreiben, in dem Sie VBA anweisen, jede Zelle im Bereich, in der Spalte oder in der Zeile zu durchlaufen und eine bestimmte Aktivität auszuführen.

 Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("A1:A10").Cells   iCell.Value = "Yes" Next iCell End Sub

Hier sind die Schritte, um einen Strandspaziergang zu machen:

  1. Deklarieren Sie zunächst eine Variable, die als Zelle des zu durchlaufenden Bereichs verwendet werden soll.
    loop-through-range
  2. Starten Sie anschließend die „For Each“-Schleife und verwenden Sie die Variable „iCell“, um jede Zelle im Bereich während der Schleife darzustellen.
    use-icell-variable
  3. Als Nächstes müssen Sie eine Codezeile schreiben, um eine Aktivität für jede Zelle auszuführen, in der wir den Bereich schleifen.
    write-a-line-of-code
  4. Beenden Sie am Ende den Code für eine Schleife.
    end-the-code-for-a-loop

Führen Sie mithilfe von VBA eine Schleife über die gesamte Spalte und eine Zeile durch

Auf die gleiche Weise können Sie jede Zelle in einer Zeile mit dem folgenden Code durchlaufen, der mit dem im vorherigen Beispiel verwendeten Code identisch ist. Der einzige Unterschied besteht im angegebenen Bereich.

Schleife durch die gesamte Spalte und Zeile

Hinweis: Bevor Sie eine ganze Spalte oder Zeile durchgehen, sollten Sie bedenken, dass die Schleife einige Zeit dauern kann und Ihr Excel für einige Minuten einfrieren kann.

 Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("A:A").Cells   iCell.Value = "Yes" Next iCell End Sub

Und auf die gleiche Weise können Sie eine vollständige Zeile als durchlaufenden Bereich verwenden.

 Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("1:1").Cells   iCell.Value = "Yes" Next iCell End Sub

Durchlaufen Sie den Dynamikbereich

Und wenn Sie über einen dynamischen Bereich von Zellen iterieren möchten, lesen Sie den folgenden Code.

Schleife durch den Dynamikbereich
 Sub vba_dynamic_loop_range() Dim iCell As Range Dim iRange1 As String Dim iRange2 As String Dim rangeName As String iRange1 = ActiveCell.Address iRange2 = ActiveCell.Offset(5, 5).Address rangeName = iRange1 & ":" & iRange2 For Each iCell In Range(rangeName).Cells   iCell = "Yes" Next iCell End Sub

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert