VBA-Loop-Through-Array / für jedes Element im Array

In diesem Tutorial erfahren Sie, wie Sie Arrays in VBA durchlaufen.

Es gibt zwei Hauptmethoden, um Arrays mit VBA zu durchlaufen:

  • Für jede Schleife - Die For Each Loop durchläuft jedes Element im Array.
  • Für die nächste Schleife - Die For Next-Schleife durchläuft die angegebenen Start- und Endpositionen des Arrays (Wir können die UBound- und LBound-Funktionen verwenden, um das gesamte Array zu durchlaufen).

Für jedes Element im Array

Die Für jede Schleife ermöglicht es Ihnen, jedes Element des Arrays zu durchlaufen.

12345678910111213141516171819 Unter LoopForArrayStatic()'ein Variantenarray deklarierenDim strNames(1 bis 4) als String'das Array auffüllenstrNames(1) = "Bob"strNames(2) = "Peter"strNames(3) = "Keith"strNames(4) = "Sam"'eine Variante für das Array-Element deklarierenArtikel als Variante dimmen'Schleife durch das gesamte ArrayFür jedes Element in strNames'Element im Debug-Fenster anzeigen.Debug.Print-ElementSchleifeEnd Sub

Das obige Verfahren durchläuft alle Namen im Array.

Für die nächste Schleife

Die For Next-Schleife durchläuft jedes Element an einer bestimmten Start- und Endposition des Arrays.

Durchlaufen eines Teils des Arrays

Sie können die Start- und Endpositionen für Ihren Loop manuell festlegen. Dies kann sinnvoll sein, wenn Sie Ihre Array-Größe kennen und/oder nur einen Teil eines Arrays durchlaufen möchten.

12345678910111213141516 Sub LoopForNextStatic()'ein Varianten-Array deklarierenDim strNames(1 bis 4) als String'das Array auffüllenstrNames(1) = "Bob"strNames(2) = "Peter"strNames(3) = "Keith"strNames(4) = "Sam"'eine ganze Zahl deklarierenDim i As Integer'Schleife von Position 2 zu Position 3 des ArraysFür i = 2 bis 3'Namen im unmittelbaren Fenster anzeigenDebug.Print strNames(i)Als nächstesEnd Sub

Im obigen Beispiel haben wir die Positionen 2 und 3 des Arrays durchlaufen. Das unmittelbare Fenster würde die Namen wie folgt zurückgeben.

Durchlaufen des gesamten Arrays

Als Nächstes verwenden wir die UBound- und LBound-Funktionen, um ein gesamtes Array zu durchlaufen. Dies ist äußerst nützlich, wenn sich die Start- und Endpositionen des Arrays ändern könnten (z. B. ein dynamisches Array):

123456789101112131415161718 Sub LoopForNextDynamic()'ein Varianten-Array deklarierenDim strNames() As String'Array initialisierenReDim-StrNames(1 bis 4)'das Array auffüllenstrNames(1) = "Bob"strNames(2) = "Peter"strNames(3) = "Keith"strNames(4) = "Sam"'eine ganze Zahl deklarierenDim i As Integer'Schleife von der unteren Grenze des Arrays zur oberen Grenze des Arrays - das gesamte ArrayFür i = LBound(strNames) Zu UBound(strNames)'Namen im unmittelbaren Fenster anzeigenDebug.Print strNames(i)Als nächstesEnd Sub

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave