| Variablen und Felder → ohne Beispiele | |
| Variablen Deklaration | |
| Option Explicit | Variablen- Deklarationen erzwingen | 
| Option Base 1 / 0 | Kleinster Deklarierungswert | 
| Dim <Variable> As <Variablentyp> | Deklarierung von Variablen | 
| Static <Variable> As <Variablentyp> | Der Wert der Variable bleibt beim Aufruf einer Prozedur bestehen. | 
| Const <Variable> = Wert | Es wird ein konstanter Wert definiert. | 
| Variablentypen | |
| Byte | 
    Kleine Ganzzahl Größe: 1 Byte Bereich: 0 - 255  | 
  
| 
    Beispiel:   
     Dim KleineGanzzahl As Byte  | 
    |
| Integer % | 
    Ganzzahl Größe: 2 Byte Bereich: -32.768 bis 32.767  | 
  
| 
    Beispiel:   
     Dim Ganzzahl As Integer Dim Ganzzahl% --> Kurzform  | 
    |
| Long & | 
    Große Ganzzahl Größe: 4 Byte Bereich: 2.147.483.648 bis 2.147.483.647  | 
  
| 
    Beispiel: Dim GrosseGanzzahl As Long Dim GrosseGanzzahl& --> Kurzform  | 
    |
| Single ! | 
    Dezimalzahl Größe: 4 Byte Bereich: -3,402823E38 bis 3,402823E38  | 
  
| 
    
    Beispiel: Dim DezimalZahl As Single Dim DezimalZahl! --> Kurzform  | 
    |
| Double # | 
    Große Dezimalzahl Größe: 8 Byte Bereich: -1,79769313486231E308 bis 1,79769313486232E308  | 
  
| 
    Beispiel: Dim GrosseDezimalzahl As Double Dim GrosseDezimalzahl# --> Kurzform  | 
    |
| Boolean | 
    Wahrheitswert Größe: 2 Byte Bereich: True / False  | 
  
| Beispiel: Dim Schalter As Boolean  | 
    |
| String $ | 
    Text Größe: 1 Byte je Zeichen + 10 Byte 2 Milliarden Zeichen möglich  | 
  
| 
    Beispiel: Dim Text As String Dim Text$ --> Kurzform  | 
    |
| String *<Anzahl Zeichen> | 
    Text Größe: 1 Byte je Zeichen 65535 Zeichen möglich  | 
  
| Beispiel: Dim CodeNummer As String * 10  | 
    |
| Date | 
    Datum Größe: 8 Byte Bereich 01.01.100 bis 31.12.9999  | 
  
| 
    Beispiel: Dim Datum As Date Datum = #12/24/2010# --> ergibt den 24.12.2010  | 
    |
| Object | 
    Objekt Größe: 4 Byte  | 
  
| 
    Beispiel: Dim Bereich As Object Set Bereich = Range("A1:G20")  | 
    |
| Variant | 
    Variable Konstante für Zahlen, Texte, Objekte ... Größe: 16 Byte bei Zahlen, bei Texten je 1 Byte / Zeichen + 22 Byte für die Variable  | 
  
| 
    Beispiel: Dim Dummy As Variant Dummy = "Hallo" Dummy = 123  | 
    |
| 
    Type <Strukturname> <Variablendeklarationen> End Type Sub Test() DIM <Variable> As <Strukturname> End Sub  | 
    
    Benutzerdefinierte Variablen Variablen-Definition per Type-Anweisung  | 
  
| 
    Beispiel: Type AdressenStruktur VorName As String * 15 Nachname As String * 15 Plz As String * 5 Ort As String * 25 Strasse As String * 10 StrassenNr As String * 4 End Type Sub Test() Dim Adressen As AdressenStruktur Adressen.VorName = "Karl-Friedrich" Adressen.Nachname = "Schiller" End Sub  | 
    |
| 
     IsDate(<Variable>)      
    Datum ?  | 
    
     Bestimmung des Variablen- Inhaltes  | 
  
| Felder | |
| Dim <Variable>( 1 To <Wert>, .. ) As <Variablentyp> | 
    Feld-Deklaration Deklaration eines eindimensionalen Feldes Deklaration eines zweidimensionalen Feldes Deklaration eines dreidimensionalen Feldes  | 
  
| 
    Beispiel: Dim Monate(1 To 12) As String Dim Tabelle(1 To 100, 1 To 10) As Integer Dim Tab3D(1 To 10, 1 To 5, 1 To 3) As Double  | 
    |
| ReDim <Variable>( 1 To <Wert>, .. ) As <Variablentyp> | 
    Neue Dimensionierung eines Datenfeldes Wird angewandt um ein bestehendes Datenfeld zu erweitern oder zu verkleinern, oder ein Datenfeld Mittels Variablen zu dimensionieren was mit der Dim- Anweisung nicht möglich ist.  | 
  
| 
    Beispiel: ReDim Feld(1 To 10) As Single Von = 2 Bis = 10 ReDim Feld(Von To Bis) As Single  | 
    |
| Feld-Anweisungen | |
| 
    Dim <Variable> <Variable> = Array(<Wert>, <Wert>, <Wert>)  | 
    
    Die Array-Anweisung | 
  
| 
    Beispiel 1: Option Base 0 Sub ElementeSetzen() Dim Element As Variant Element = Array("Wasserstoff", "Helium", "Lithium") ' Elemente ( 0..2 ) End Sub Beispiel 2: Option Base 1 Sub ElementeSetzen() Dim Element As Variant Element = Array("Wasserstoff", "Helium", "Lithium") ' Elemente ( 1..3 ) End Sub Beispiel 3: Option Base 1 Sub FeldFelder() Dim A(1 To 3) A(1) = Array(1, 2, 3, 4, 5) ' A(1)(1..5) A(2) = Array(6, 7, 8, 9, 10) ' A(2)(1..5) A(3) = Array(11, 12, 13, 14, 15, 16, 17) ' A(3)(1..7) MsgBox A(2)(3) End Sub  | 
    |
| Erase <Feldvariable> | Inhalte eines Datenfeld löschen | 
| 
    Beispiel: Dim DatenFeld(1 To 20) As Single <Weitere Anweisungen> Erase DatenFeld  | 
    |
| LBound(<Feldname>,[<DimensionierungsEbene>] | 
     Gibt die untere Dimensionierungsgrenze eines Datenfelde zurück  | 
  
| 
    Bespiel: Dim Daten(-5 To 33, 1 To 20, 1 To 3) As Double MsgBox LBound(Daten, 1) --> ergibt -5 MsgBox LBound(Daten, 3) --> ergibt 1  | 
    |
| UBound(<Feldname>,[<DimensionierungsEbene>] | Gibt die obere Dimensionierungsgrenze eines Datenfelde zurück | 
| 
    Beispiel: Dim Daten(-5 To 33, 1 To 20, 1 To 3) As Double MsgBox UBound(Daten, 1) --> ergibt 33 MsgBox UBound(Daten, 3) --> ergibt 3  | 
    |
| IsArray(<Variable>) Feldvariable ? | Bestimmt, ob eine Variable ein Feld ist | 
| <FeldVariable> = Split(<Variable>, <Trenner>) | Variablen- Inhalt in eine Feld-Variable umwandeln | 
| 
    Beispiel: Dim Text As String Dim Quartal1 As Variant Text = "Jan|Feb|Mär|Apr" ' Inhalt der Variable Text setzen. Quartal1 = Split(Text, "|") ' verwandelt den Inhalt der Variable Text in ein Feld ' das heißt die Variant- Variable 'Quartal1' wird zum Feld ' mit der Dimension Quartal1( 0 To 3) ' bzw. Quartal1( 1 To 4) wenn 'Option Base 1' gesetzt wurde. MsgBox Quartal1(3) ' gibt das 4. Feldelement der Feldvariable Quartal1 aus ' Ist 'Option Base 1' gesetzt, wäre es das 3. Feldelement.  | 
    |
| <Variable> = Join(<FeldVariable>, <Trenner>) | Feld- Variable in eine Variable umwandeln | 
| 
    Beispiel: Dim Text As String ' Deklarieren der Textvariable 'Text' Dim Quartal1(1 To 4) As String ' Deklarieren der Feldvariable 'Quartal1' Quartal1(1) = "Jan": Quartal1(2) = "Feb" ' Feldvariable setzen Quartal1(3) = "Mär": Quartal1(4) = "Apr" Text = Join(Quartal1, "|") ' Inhalte der Feld-Variable in die Textvariable ' füllen und als Trennzeichen "|" setzen. MsgBox Text ' Ergebnis "Jan|Feb|Mär|Apr"  | 
    |
| <FeldVariable> = Filter(<FeldVariable>, <Suchwort>) | Filtert ein Feld vom Typo Feld(0 ... n ) nach einem Suchwort | 
| 
    Beispiel : Dim Tabelle1 As Variant Dim Tabelle2 As Variant Tabelle1 = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 3, 5, 1, 6, 9, 4, 5, 62) Tabelle2 = Filter(Tabelle1, 1, , vbTextCompare) ' Tabelle1 muß ein 1-dimensionales Feld sein. ' Anmerkung: Tabelle2 ist ein Text-Feld !!  | 
    |
| <Variable> = Range(<Bereich>) | Feld- Variable mit Daten aus Excel-Tabelle versehen | 
| 
    Beispiel 1: Dim Tabelle as Variant ' Feld-Variable deklarieren Tabelle = Range("A1:G10") ' Feld-Variable mit den Daten aus ' dem Bereich A1 bis G10 übernehmen.  | 
    |
| 
    Beispiel 2: Dim Tabelle as Variant ' Feldvariable deklarieren Tabelle = Range("A1").CurrentRegion ' Es werden alle zusammenhängende Zellen um A1 ' in die Feld-Variable Tabelle übernommen.  | 
    |
| 
    Beispiel 3: Dim Tabelle as Variant ' Feldvariable deklarieren Tabelle = Range(Cells(1, 1), Cells.SpecialCells(xlLastCell)) ' Es werden alle Daten des aktuellen Tabellenblattes ' in die Feld-Variable Tabelle geschrieben.  | 
    |
| <Variable> = Application.Transpose(<Variable> | Feld- Variable transponieren ( Zeilen und Spalten austauschen ) | 
| 
    Beispiel : Dim Tabelle As Variant Tabelle = Range("A1").CurrentRegion ' Daten aus aktuellem Tabellenblatt übernehmen Tabelle = Application.Transpose(Tabelle) ' Tabelle transponieren ( analog zur Excelfunktion MTRANS )  | 
    |