VBA-Array-Größe - Schritt-für-Schritt-Anleitung mit Beispielen

In diesem Artikel finden Sie eine schrittweise Anleitung zum Ermitteln der Arraygröße mithilfe von VBA-Code.

Wie finde ich die Größe eines Arrays mithilfe von VBA-Code?

Befolgen Sie die Schritte, um die Arraygröße mithilfe von Excel VBA-Code zu ermitteln.

  • Schritt 1: Beginnen wir zunächst mit der Basis und deklarieren eine Variable in VBA als varianten Datentyp.

Code:

Sub Array_Size () Dim MyArray As Variant End Sub
  • Schritt 2: Verwenden Sie für diese Variable die ARRAY-Funktion und weisen Sie einige Werte wie unten gezeigt zu.

Code:

Sub Array_Size () Dim MyArray als Variante MyArray = Array ("Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul") End Sub
  • Schritt 3: Ok, wir haben dem Array-Namen "MyArray" einige Werte zugewiesen.

Angenommen, wir müssen eine Schleife schreiben, um diese Array-Werte in Zellen zu speichern, dann müssen wir entscheiden, wie oft die Schleife ausgeführt werden muss. Dies hängt von der Anzahl der Werte des Arrays ab.

Ok, sehen Sie sich jetzt die Anzahl der Werte an, die dem Arraynamen „MyArray“ zugewiesen wurden. Dem Array sind insgesamt 7 Werte zugewiesen. Jetzt wissen wir, wie oft die Schleife ausgeführt werden muss, um Werte eines Arrays in Zellen zu speichern .

  • Schritt 4: Deklarieren Sie eine andere Variable als Ganzzahl, um die FOR-Schleife in VBA zu schreiben.

Code:

Sub Array_Size () Dim MyArray als Variante MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer Für k = 1 bis 7 Weiter k End Sub
  • Schritt 5: Los geht's, wir haben die FOR-Schleife von 1 bis 7 geöffnet. Schreiben Sie innerhalb der Schleife die CELLS-Eigenschaft, um sie wie unten gezeigt zu speichern.

Code:

Sub Array_Size () Dim MyArray als Variante MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer Für k = 1 bis 7 Zellen (k, 1) .Wert = MyArray (k) Weiter k End Sub
  • Schritt 6: Ok, führen Sie nun den Code zeilenweise aus, indem Sie eine F8-Funktionstaste drücken. Beim ersten Drücken der Taste F8 wird das Makro gestartet.
  • Schritt 7: Drücken Sie jetzt F8, um zur Zeile für die Zuweisung des Array-Werts zu springen.
  • Schritt 8: Ab sofort enthält der Array-Name „MyArray“ keine Werte. Drücken Sie F8, und alle genannten Werte werden der Array-Variablen zugewiesen.
  • Schritt 9: Jetzt beginnt die Schleife zu laufen und drücken Sie zweimal die Taste F8, um zu sehen, welchen Wert wir in Zelle A1 erhalten.
  • Hoppla!!! Warten Sie, unser erster Wert in der Array-Variablen ist "Jan", aber wir haben das Ergebnis als zweiten Wert "Feb", wenn noch die erste Werteschleife ausgeführt wird.
  • Schritt 10: Dies liegt daran, dass wenn die Anzahl Ihrer Array-Werte bei Null beginnt und nicht bei 1, die Startschleife als Null eingefügt werden muss.
  • Schritt 11: Sobald die Startposition der Schleife um eins verringert ist, sollte auch das Ende um 1 verringert werden. Machen Sie das Ende also zu 6 statt zu 7.
  • Step 12: Once the loop starting and ending decided one more tweak we need to do, i.e. in the CELLS property we have used “k” variable as the dynamic cell picker but since our loop starts from zero, there is no cell starts with zero, so add plus 1 to the variable “k”.

Code:

Sub Array_Size() Dim MyArray As Variant MyArray = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = 0 To 6 Cells(k + 1, 1).Value = MyArray(k) Next k End Sub
  • Step 13: So now upon running the loop first-time “k” value is zero, and since we have added plus 1, the “k” value will be 1 so refers to cell A1.
  • Step 14: Now run the code, and all the values of array will be stored in cells.

However, in this instance, we have decided the loop starting and ending size manually, but the size of the array can be determined easily using LBOUND & UBOUND functions.

Find Size of an Array Automatically

  • Step 1: When we about included loop starting and ending point in the above we have manually counted the number of values array has but to start the array use LBOUND function and for this pass “MyArray” variable name.
  • Step 2: And to determine the last array size use UBOUND function and enter the array name “MyArray”.

Code:

Sub Array_Size() Dim MyArray As Variant MyArray = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = Lboubd(MyArray) To UBound(MyArray) Cells(k + 1, 1).Value = MyArray(k) Next k End Sub
  • Schritt 3: Ok, starten Sie jetzt die Zeile mit dem Zeilencode und drücken Sie die Taste F8, bis der Startpunkt der Schleife erreicht ist.
  • Schritt 4: Setzen Sie nun zuerst Ihren Cursor auf "LBound (MyArray)" und sehen Sie, was darin steht.
  • Schritt 5: Die Startpunktnummer lautet Null. Setzen Sie nun den Cursor auf „UBound (MyArray)“ und sehen Sie, was darauf steht.

Es heißt Array-Größe als 6, so wie wir das manuelle Starten und Beenden erwähnt haben, wählen UBOUND und LBOUND automatisch die Zahlen für uns aus.

Interessante Beiträge...