VBA UBound-Funktion - Wie verwende ich UBound in Excel VBA?

Inhaltsverzeichnis

UBOUND oder auch als Upper Bound bekannt. Diese Funktion in VBA wird mit der entgegengesetzten Funktion verwendet, die LBOUND oder auch als Lower Bound-Funktion bezeichnet wird. Mit dieser Funktion wird die Länge eines Arrays in einem Code definiert und wie der Name schon sagt, UBOUND wird verwendet, um die Obergrenze des Arrays zu definieren.

VBA UBOUND-Funktion

Wie können Sie die maximale Länge des Arrays in Excel ermitteln? Ja, wir können die maximale Länge des Arrays manuell anzeigen und aktualisieren, aber wenn Sie dies alles währenddessen tun, ist heute das Ende davon, da wir eine Funktion namens UBOUND haben, um die maximale Länge des Arrays zu bestimmen. Befolgen Sie diesen Artikel, um weitere Informationen zur UBOUND-Funktion in Excel VBA zu erhalten.

UBOUND steht für Upper Bound. Bei der Codierung müssen wir häufig die maximale Länge des Arrays ermitteln. Zum Beispiel MyResult (24) mittels Arraynamen MyResult hält 25 Werte , um es , da das Array von Null beginnt, nicht von einem. 24 bedeutet also +1, dh insgesamt 25 Werte.

Hier beträgt die maximale Länge des Arrays 24. Anstatt die Array-Länge manuell anzugeben, können wir die integrierte Funktion UBOUND verwenden, um die maximale Länge des Arrays zu ermitteln.

Der Code lautet: UBOUND (MyResult), dh UBOUND (24)

Die Excel VBA UBOUND-Funktion repräsentiert also die Obergrenze der Arraygröße.

Wie verwende ich die VBA UBound-Funktion in Excel?

Die Formel von VBA UBOUND ist sehr einfach, da sie nur zwei Parameter enthält.

UBound (Arrayname (, Dimension))
  • Array-Name: Dies ist der Name des von uns definierten Array-Namens. Im obigen Beispiel ist MyResult beispielsweise der Arrayname .
  • (Dimension): Wenn das Array mehr als eine Dimension hat, müssen wir die Dimension des Arrays angeben. Wenn Sie es ignorieren, wird standardmäßig die erste Dimension behandelt.

Die Excel VBA UBOUND-Funktion ist sehr nützlich, um die Länge der Schleifen beim Ausführen der Schleifen zu bestimmen.

Beispiele für die UBOUND-Funktion in Excel VBA

Nachfolgend finden Sie die praktischen Beispiele für die VBA UBound-Funktion.

Beispiel 1

Lassen Sie mich den einfachen Code schreiben, um das Verfahren zu starten. Führen Sie die folgenden Schritte aus, um die VBA UBOUND-Funktion anzuwenden.

Schritt 1: Starten Sie das Excel-Makro und definieren Sie den Variablennamen.

Code:

Sub Ubound_Example1 () Dim ArrayLength (0 bis 4) As String

Schritt 2: Ich werde diesem Array-Namen Werte zuweisen.

Code:

Sub Ubound_Example1 () Dim ArrayLength (0 bis 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA Class" End Sub

Schritt 3: In einem Meldungsfeld mit der Funktion UBOUND wird nun die maximale Länge des Arrays angezeigt.

Code:

Sub Ubound_Example1 () Dim ArrayLength (0 bis 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA Class" MsgBox "Upper Bound Length ist:" & UBound (ArrayLength) End Sub

Schritt 4: Führen Sie diesen Code durch Drücken der Taste F5 aus, oder Sie können den Code auch manuell ausführen, wie im folgenden Screenshot gezeigt.

Das Meldungsfeld zeigt an, dass die obere Schrankenzahl des Arrays im Meldungsfeld angezeigt wird.

Auf diese Weise können wir mit der Excel VBA UBOUND-Funktion die Länge der oberen Grenze eines Arrays ermitteln.

Beispiel 2 - Verwenden der Excel VBA UBOUND-Funktion zum Kopieren der Daten

Angenommen, Sie haben eine Liste von Daten in einem Excel-Blatt wie dem folgenden.

This data is going to update on a daily basis, and you need to copy this data to the new sheet every time it updates. Updating this manually will take a considerable amount of time in your workplace, but I will show you a simple macro code to automate this.

Step 1: Create a macro and define the array variable.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant End Sub

Step 2: Now activate the datasheet by refereeing to its name.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant Sheets("Data Sheet").Activate End Sub

Step 3: Now assign the data range to the defined variable by using the below code.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant Sheets("Data Sheet").Activate DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight)) End Sub

Step 4: Now add a new worksheet to the workbook.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant Sheets("Data Sheet").Activate DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight)) Worksheets.Add End Sub

Step 5: Now add the data to the newly added sheet by using the Excel VBA UBOUND function in the form of the below code.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant Sheets("Data Sheet").Activate DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight)) Worksheets.Add Range(ActiveCell, ActiveCell.Offset(UBound(DataRange, 1) - 1, UBound(DataRange, 2) - 1)) = DataRange End Sub

The above code will offset the cells by the maximum length returned by the UBOUND function, and this range will be equal to the value of the array name “DataRange.

Step 6: Now run this code. It will paste the value to the new sheet.

This code is a dynamic one because even when the data increases horizontally and vertically, it will automatically take the range. Now I will add some dummy lines to the data.

Now I will once again run this code. It will now add the newly added lines as well.

Code:

Sub Ubound_Example2 () Dim DataRange () als Variantenblätter ("Datenblatt"). Aktivieren Sie DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) Worksheets.Add Range (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Erase DataRange End Sub

Dinge, an die man sich erinnern sollte

  • UBOUND gibt die maximale Länge des Arrays zurück.
  • Das Array beginnt bei 0, nicht bei 1.
  • Wenn Sie den niedrigeren Wert des Arrays möchten, müssen Sie VBA LBOUND verwenden.
  • Wenn das Array mehr als eine Dimension hat, müssen Sie auch die Dimensionsnummer angeben.

Interessante Beiträge...