Vba-tabelle: grundlegendes bis fortgeschrittenes handbuch

Wichtige Punkte

  • Stellen Sie sich eine Tabelle innerhalb einer VBA-Tabelle als eine Minidatenbank zum Speichern und Organisieren von Daten vor (Beispiel: Name, Fach und Ergebnisse des Schülers).
  • Bevor Sie es verwenden, müssen Sie ein Array deklarieren. mit seinem Datentyp und der Anzahl der Werte, die Sie darin speichern möchten.

Wenn Sie mit VBA mit Big Data arbeiten möchten, müssen Sie Tabellen verstehen und wissen, wie sie in VBA-Codes verwendet werden. In diesem Leitfaden erkunden Sie alle Aspekte der Tabelle und sehen auch einige Anwendungsbeispiele. ihnen.

Was ist eine Tabelle in VBA?

In VBA ist ein Array eine Variable, die mehrere Werte speichern kann. Sie können auf alle Werte in diesem Array gleichzeitig zugreifen oder auch auf einen einzelnen Wert, indem Sie dessen Indexnummer angeben, die die Position dieses Werts im Array darstellt. Stellen Sie sich vor, Sie haben einen Termin mit dem Namen, dem Fach und den Noten des Schülers.

Sie können alle diese Informationen in einer Tabelle speichern, nicht nur für einen Schüler, sondern für Hunderte. Hier ist ein einfaches Beispiel zur Erläuterung einer Tabelle.

Beispiel zur Erklärung einer Tabelle

Im obigen Beispiel haben Sie ein Array mit zehn Elementen (Array-Größe) und jedes Element hat eine bestimmte Position (Index).

Wenn Sie also ein Element verwenden möchten, das sich an der achten Position befindet, müssen Sie über seine Indexnummer auf dieses Element verweisen.

Das Array, das wir im obigen Beispiel verwendet haben, ist ein eindimensionales Array. Aber später in diesem Handbuch werden wir auch etwas über mehrdimensionale Arrays lernen.

So deklarieren Sie ein Array in VBA

Wie ich oben erwähnt habe, ist ein Array der Typ einer Variablen, daher müssen Sie es mit den Schlüsselwörtern (Dim, Private, Public und Static) deklarieren. Im Gegensatz zu einer normalen Variablen müssen Sie beim Deklarieren eines Arrays nach dem Array-Namen ein Klammerpaar verwenden.

Nehmen wir an, Sie möchten ein Array deklarieren, das wir im obigen Beispiel verwendet haben.

Schritte zum Deklarieren eines Arrays.

  • Verwenden Sie zunächst das Schlüsselwort „Dim“, geben Sie den Tabellennamen ein und geben Sie Klammern ein.
    use-the-keyword-dim
  • Als nächstes müssen Sie den Datentyp für das Array angeben. Wenn Sie keinen Datentyp angegeben haben, weist VBA den entsprechenden Datentyp zu.
    specify-data-type-of-an-array
  • Danach müssen Sie die Anzahl der Elemente definieren, die Sie im Array speichern möchten.
    define-the-number-of-items
  • Um einem Element in einem Array schließlich einen Wert zuzuweisen, müssen Sie es anhand der Indexnummer des Elements identifizieren und ihm dann einen Wert zuweisen.
    assign-a-vale-to-an-item

Vollständiger Code

 Sub vba_array_example() Dim StudentsNames(10) As String StudentsNames(0) = "Waylon" StudentsNames(1) = "Morton" StudentsNames(2) = "Rudolph" StudentsNames(3) = "Georgene" StudentsNames(4) = "Billi" StudentsNames(5) = "Enid" StudentsNames(6) = "Genevieve" StudentsNames(7) = "Judi" StudentsNames(8) = "Madaline" StudentsNames(9) = "Elton" End Sub

QuickNotes

  • Im obigen Code haben Sie zunächst die Dim-Anweisung, die das eindimensionale Array definiert, das bis zu 10 Elemente speichern kann und einen String-Datentyp hat.
  • Danach verfügen Sie über 10 Codezeilen, die die Elemente eines Arrays von 0 bis 9 definieren.

Tabelle mit unterschiedlichem Datentyp

Wenn Sie beim Deklarieren eines Arrays den Datentyp nicht angeben, verwendet VBA automatisch den unterschiedlichen Datentyp, was zu einem leichten Anstieg der Speichernutzung führt und dieser Anstieg der Speichernutzung die Codeleistung verlangsamen kann.

Daher ist es am besten, beim Deklarieren eines Arrays einen bestimmten Datentyp zu definieren, es sei denn, die Verwendung des Varianten-Datentyps ist erforderlich.

Informationen aus einem Array zurückgeben

Wie ich bereits erwähnt habe, können Sie zum Abrufen von Informationen aus einem Array die Indexnummer des Elements verwenden, um seine Position anzugeben. Wenn Sie beispielsweise das 8. Element des im vorherigen Beispiel erstellten Bereichs zurückgeben möchten, lautet der Code:

Feedback-vom-Tisch

Im obigen Code haben Sie den Wert in Zelle A1 mit Array-Element 8 eingegeben.

Verwenden Sie Optionsbasis 1

Ich bin mir sicher, dass Sie gerade diese Frage im Kopf haben: Warum haben wir unsere Artikelliste bei Null statt bei Eins begonnen?

Nun, das ist kein Fehler.

Als Programmiersprachen zum ersten Mal erstellt wurden , wurde diese Struktur aufgrund einer Nachlässigkeit zu einer Liste von Elementen in einem Array. In den meisten Programmiersprachen finden Sie die gleiche Struktur von Listenelementen.

Im Gegensatz zu den meisten anderen Computersprachen können Sie in VBA jedoch die Funktionsweise des Index normalisieren, d array.array.

Nun sieht diese Tabelle in etwa wie folgt aus:

use-option-base-1

Suchen Sie in einer Tabelle

Wenn Sie Werte in einem Array speichern, kann es vorkommen, dass Sie eine Array-Suche durchführen müssen.

In diesem Fall müssen Sie die Methoden kennen, die Sie verwenden können. Schauen Sie sich nun den folgenden Code an, der Ihnen helfen kann, zu verstehen, wie Sie in einem Array nach einem Wert suchen.

 Sub vba_array_search() 'this section declares an array and variables _ that you need to search within the array. Dim myArray(10) As Integer Dim i As Integer Dim varUserNumber As Variant Dim strMsg As String 'This part of the code adds 10 random numbers to _ the array and shows the result in the _ immediate window as well. For i = 1 To 10 myArray(i) = Int(Rnd * 10) Debug.Print myArray(i) Next i 'it is an input box that asks you the number that you want to find. Loopback: varUserNumber = InputBox _ ("Enter a number between 1 and 10 to search for:", _ "Linear Search Demonstrator") 'it's an IF statement that checks for the value that you _ have entered in the input box. If varUserNumber = "" Then End If Not IsNumeric(varUserNumber) Then GoTo Loopback If varUserNumber < 1 Or varUserNumber > 10 Then GoTo Loopback 'message to show if the value doesn't found. strMsg = "Your value, " & varUserNumber & _ ", was not found in the array." 'loop through the array and match each value with the _ the value you have entered in the input box. For i = 1 To UBound(myArray) If myArray(i) = varUserNumber Then strMsg = "Your value, " & varUserNumber & _ ", was found at position " & i & " in the array." Exit For End If Next i 'message box in the end MsgBox strMsg, vbOKOnly + vbInformation, "Linear Search Result" End Sub 
in einer Tabelle suchen
  1. Im ersten Teil des Codes befinden sich Variablen, die Sie später im Code verwenden müssen.
  2. Danach besteht der nächste Teil darin, mithilfe von RND Zufallszahlen zu generieren, um 10 Werte für das Array zu erhalten.
  3. Als nächstes gibt es ein Eingabefeld, in das Sie den Wert eingeben können, nach dem Sie in der Tabelle suchen möchten.
  4. In diesem Teil haben Sie einen Code für die Zeichenfolge, die im Meldungsfeld verwendet werden soll, wenn der von Ihnen eingegebene Wert nicht gefunden wird.
  5. Dieser Teil des Codes verwendet eine Schleife, um jedes Element des Arrays zu durchlaufen und zu prüfen, ob der von Ihnen eingegebene Wert im Array vorhanden ist oder nicht.
  6. Der letzte Teil des Codes zeigt eine Meldung an, die angibt, ob ein Wert gefunden wurde oder nicht.

Einen Kommentar hinzufügen

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