VBA Declare Array - Wie deklariere ich Arrays in VBA?

Inhaltsverzeichnis

Excel VBA-Deklarationsarray

Die Deklaration eines Arrays in VBA ist der von Variablen sehr ähnlich, die von derselben dim-Anweisung oder statischen öffentlichen oder privaten Anweisung ausgeführt werden. Der einzige Unterschied beim Deklarieren eines Arrays und beim Deklarieren einer Variablen besteht darin, dass beim Deklarieren eines Arrays eine Größe angegeben werden muss eines Arrays, das die Obergrenze des Arrays und die Untergrenze des Arrays ist.

In VBA-Code können wir ein einzelnes Variablenarray deklarieren, das die Anzahl der Variablen enthalten kann, anstatt einzelne Variablen zu deklarieren. Dies kann dazu beitragen, die Anzahl der Zeilen im Code zu verringern.

Das Array ist eine Art Variable, die mehr als einen Wert enthalten kann, im Gegensatz zu regulären Variablen, die jeweils nur einen Wert enthalten können. Das Array ist eine erweiterte Version der Deklaration von Variablen in VBA. Stellen Sie sich beispielsweise eine Situation vor, in der Sie Variablen 5 Schülernamen zuweisen möchten. In der Regel deklarieren wir fünf Variablen für alle fünf Variablen, denen wir einzelne Schülernamen einzeln zuweisen. Unten ist der Beispielcode desselben.

Code:

Sub Array_Example () Dim Student1 als String Dim Student2 als String Dim Student3 als String Dim Student4 als String Dim Student5 als String End Sub

Anstatt so viele Variablen zu deklarieren, wie wäre es mit der Idee, ein einzelnes Variablenarray zu deklarieren, das alle Schülernamen enthalten kann.

Ja, dies ist möglich, indem das Array in VBA deklariert wird.

Beispiele

Beispiel 1

Zur Deklaration benötigen wir keine spezielle VBA-Codierung. Vielmehr müssen wir einfachen Konzepten folgen.

Starten Sie zunächst die Unterprozedur.

Code:

Sub Array_Example () End Sub

Deklarieren Sie nun wie gewohnt eine Variable als Zeichenfolge.

Code:

Sub Array_Example () Dim Student As String End Sub

Nachdem die Variable deklariert wurde, stellen Sie nun sicher, wie viele Werte sie enthalten soll. In diesem Fall möchte ich die Namen von fünf Schülern speichern, daher müssen wir jetzt die Arraygröße festlegen, dh 1 bis 5. Geben Sie der Variablen in Klammern dasselbe an.

Code:

Sub Array_Example () Dim Student (1 bis 5) As String End Sub

Jetzt können wir für diese einzelne Variable 5 Schülernamen speichern.

Code:

Sub Array_Example () Dim Student (1 bis 5) As String Student (1) = "John" Student (2) = "Peter" Student (3) = "Ricky" Student (4) = "Michael" Student (5) = "Anderson" End Sub

Schauen Sie, wie viele Zeilen wir reduziert haben, indem wir die Variable als Array deklariert haben. Dies ist eine Möglichkeit. Wir können diesen Code immer noch verkürzen, indem wir ihn in die Schleifen in VBA einschließen.

Nun zum Beispiel die gleichen fünf Namen, die ich in Arbeitsblattzellen habe.3

Jetzt möchte ich diese Nummern im Meldungsfeld in VBA anzeigen. ok, deklarieren wir eine weitere Variable für Schleifen als Integer-Datentyp.

Code:

Sub Array_Example () Dim Student (1 bis 5) As String Dim K As Integer End Sub

Wie üblich habe ich die Array-Variable als 1 bis 5 Größen beibehalten.

Öffnen Sie nun die FOR NEXT-Schleife in VBA, und da wir fünf Namen haben, geben Sie das Limit als 1 bis 5 ein.

Code:

Sub Array_Example () Dim Student (1 bis 5) als String Dim K als Integer für K = 1 bis 5 Next K End Sub

Um der Array-Variablen Werte zuzuweisen, müssen wir nicht der vorherigen Art folgen, Student (1), Student (2) wie folgt für die Variable "k" für die Positionsversorgungsschleifen für Zahlen anzuzeigen.

Code:

Sub Array_Example () Dim Student (1 bis 5) As String Dim K As Integer Für K = 1 bis 5 Student (K) = Next K End Sub

Für diese Array-Variable benötigen wir die Werte aus dem Arbeitsblatt. Wenn Sie also die CELLS-Eigenschaft verwenden, werden die Werte aus dem Arbeitsblatt abgerufen.

Code:

Sub Array_Example () Dim Student (1 bis 5) As String Dim K As Integer Für K = 1 bis 5 Student (K) = Zellen (K, 1) .Wert Next K End Sub

Zeigen Sie nun durch das Meldungsfeld den Wert der Array-Variablen an.

Code:

Sub Array_Example () Dim Student (1 bis 5) As String Dim K As Integer Für K = 1 bis 5 Student (K) = Zellen (K, 1) .Wert MsgBox Student (K) Next K End Sub

Führen Sie nun den Code aus. Im Meldungsfeld sehen wir den Vornamen. Drücken Sie erneut OK, um den zweiten Namen anzuzeigen. Wenn Sie auf OK klicken, werden alle fünf Namen angezeigt.

Beispiel 2 - Zweidimensionale Arrays

We have seen above how the array works, now we will see to dimensional arrays. Two-dimensional arrays concentrate on both rows and columns.

In the above example, we have determined the array’s size as 1 to 5; this either concentrates on rows or columns.

By using two-dimensional arrays, we can concentrate on both rows and columns. For this, we need to enclose two loops.

First, define the variable then late we will decide about the size of the array.

Code:

Sub Two_Array_Example() Dim Student As String End Sub

First, decide row size then decide the column length.

Code:

Sub Two_Array_Example() Dim Student(1 To 5, 1 To 3) As String End Sub

For this, I have structured the data for student names, marks, and grade status.

Now come back to the coding window.

Declare two more variables for a loop.

Code:

Sub Two_Array_Example () Dim Student (1 bis 5, 1 bis 3) als String Dim K als Integer, J als Integer End Sub

Schließen Sie nun die Schleife wie unten gezeigt ein.

Code:

Sub Two_Array_Example () Schüler dimmen (1 bis 5, 1 bis 3) als Zeichenfolge Dim k als Ganzzahl, J als Ganzzahl für k = 1 bis 5 für J = 1 bis 3 Arbeitsblätter ("Schülerliste"). Wählen Sie Schüler (k, J) = Zellen (k, J) .Wertarbeitsblätter ("Kopierblatt"). Zellen (k, J) auswählen .Wert = Schüler (k, J) Weiter J Weiter k Ende Unter

Dadurch werden die Daten aus dem Blatt "Studentenliste" kopiert und in "Blatt kopieren" eingefügt.

Dinge, an die man sich erinnern sollte

  • Das Array ist ein umfangreiches Konzept. Dies ist nur ein einleitender Teil.
  • Sie benötigen fortgeschrittene Codierungskenntnisse, um die Array-Deklaration zu verstehen.
  • Je häufiger Sie Arrays in Ihrem Code verwenden, desto mehr werden Sie sich daran gewöhnen.

Interessante Beiträge...