Dim Month_English_Array As Variant
Month_English_Array = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
Danke im Voraus.
Grüße
Peter
Public Month_English_Array As Variant
die Wertzuweisung muss dann in einem Makro erfolgen, natürlich bevor die Variable das erste mal verwendet wird.
Public Month_English_Array As Variant
Option Explicit
Public Const Month_English_Array As Variant _
= Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
Public Sub Mein_Makro()
End Sub
Um ein Array in Excel VBA global zu deklarieren, befolge diese Schritte:
Öffne den VBA-Editor: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
Erstelle ein allgemeines Modul: Klicke im Projektfenster mit der rechten Maustaste auf dein Projekt, wähle Einfügen
und dann Modul
.
Deklariere das Array: Füge in das Modul den folgenden Code ein, um das Array global zu deklarieren:
Public Month_English_Array As Variant
Initialisiere das Array: Setze die Werte des Arrays in einem Sub oder einer Funktion:
Sub InitializeArray()
Month_English_Array = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
End Sub
Verwende das Array in anderen Modulen: Du kannst nun Month_English_Array
in jedem Modul deines Projekts verwenden, solange es initialisiert wurde.
Fehler: "Variable nicht definiert"
Fehler: "Typkonflikt"
Const Array
verwenden möchtest, ändere die Deklaration zu:
Public Const Month_English_Array As Variant = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
Eine alternative Methode zur Deklaration eines Arrays in VBA ist die Verwendung von Split
, um eine String-Liste in ein Array zu konvertieren:
Const txMonthEnglish As String = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"
Public Month_English_Array() As String
Sub InitializeArray()
Month_English_Array = Split(txMonthEnglish, " ")
End Sub
Diese Methode ist besonders nützlich, wenn du eine dynamische Liste von Werten benötigst.
Hier sind einige praktische Beispiele, wie du ein global array
in deinen VBA-Projekten verwenden kannst:
Zugriff auf Monatsnamen:
Sub PrintMonths()
Dim i As Integer
For i = LBound(Month_English_Array) To UBound(Month_English_Array)
Debug.Print Month_English_Array(i)
Next i
End Sub
Matrix definieren:
Public Month_Matrix(1 To 3, 1 To 4) As String
Sub InitializeMatrix()
Month_Matrix(1, 1) = "Jan"
Month_Matrix(1, 2) = "Feb"
Month_Matrix(1, 3) = "Mar"
Month_Matrix(1, 4) = "Apr"
End Sub
Verwende Option Explicit
: Setze Option Explicit
am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
Nutze Public Const
für feste Werte: Wenn die Werte deines Arrays konstant sind, verwende Public Const
, um die Leistung zu verbessern und den Code lesbarer zu gestalten.
Vermeide globale Variablen, wo möglich: Überlege, ob du stattdessen lokale Variablen oder Parameter in deinen Funktionen verwenden kannst, um den Code modularer und weniger fehleranfällig zu machen.
1. Wie kann ich ein Array in VBA initialisieren?
Ein Array kann in einem Sub oder einer Funktion mit Array
oder Split
initialisiert werden. Beispiel:
Month_English_Array = Array("Jan", "Feb", "Mar", ...)
2. Was ist der Unterschied zwischen Public
und Private
Variablen?
Public
Variablen sind in allen Modulen des Projekts zugänglich, während Private
Variablen nur innerhalb des Moduls, in dem sie deklariert wurden, sichtbar sind.
3. Kann ich ein mehrdimensionales Array in VBA verwenden?
Ja, du kannst mehrdimensionale Arrays in VBA definieren, wie im Beispiel zur Matrix oben beschrieben.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen