Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Variablen initialisieren

Forumthread: VBA - Variablen initialisieren

VBA - Variablen initialisieren
14.12.2004 22:20:15
Giuseppe
Hallo Excel-Volk
Ich beschäftige mich immer mehr mit VBA.
Seit kurzem ist mir etwas aufgefallen:
Die initialisierung der Variablen gibt es in verschiedenen Formen.
Siehe Beispiele, denn ich verstehe nicht was der Unterschied ist:
1. Dim X As Byte, Y As Byte, Z As Byte
2. Dim X As Integer, Y As Long
3. Dim X, B%
4.

Sub test2()
Dim aha, oho%
A = 1
B = 2
c = 3
d = 3
aha = Array(A, B, c, d)
oho = WorksheetFunction.Mode(aha)
[a1:d1] = aha
uhu = WorksheetFunction.CountIf([a1:d1], oho)
[a1:d1] = ""
MsgBox oho & vbTab & uhu & " x"
End Sub

Nun die Fragen:
1+2+3. Was bedeutet As Byte, As Integer, As Long
oder auch wenn gar nichts steht?
3. Und was bedeutet das % hinter dem B
4. Bei diesem Punkt werden die Variablen A bis D gar nicht initialisiert.
Weshalb?
Bitte um Erklärung, ich blick da nicht ganz durch...
mfG
Giuseppe

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Variablen initialisieren
14.12.2004 22:54:54
Giuseppe
Hallo Peter
Danke für den Hinweis
Doch "As Byte" habe ich nicht gefunden
mfG
Giuseppe
AW: VBA - Variablen initialisieren
PeterW
Hallo Guiseppe,
dann such mal in der VBA-Hilfe nach Byte als Variablentyp.
Gruß
Peter
Anzeige
AW: VBA - Variablen initialisieren
14.12.2004 23:09:24
Giuseppe
Danke, nun habe ich die Unterschiede verstanden
Giuseppe
;
Anzeige
Anzeige

Infobox / Tutorial

VBA: Variablen und Arrays richtig initialisieren


Schritt-für-Schritt-Anleitung

  1. Variablen deklarieren: Du kannst Variablen in VBA mit dem Dim-Befehl deklarieren. Die Syntax variiert je nach Datentyp:

    Dim X As Byte, Y As Integer, Z As Long

    Hierbei sind As Byte, As Integer und As Long Typen, die die Größe und den Wertebereich der Variablen bestimmen.

  2. Arrays initialisieren: Um ein Array in VBA zu initialisieren, kannst du die Array-Funktion verwenden:

    Dim myArray
    myArray = Array(1, 2, 3, 4)

    Dies ist eine einfache Methode, um mehrere Werte in einer Variable zu speichern.

  3. Variablen ohne Datentyp: Wenn du eine Variable ohne Datentyp deklarierst, wird sie standardmäßig als Variant betrachtet:

    Dim A, B

    Dies kann nützlich sein, wenn du variierende Datentypen speichern möchtest, es kann jedoch auch zu unerwartetem Verhalten führen.

  4. Das Prozentzeichen (%): Das % hinter einer Variablen zeigt an, dass die Variable als Integer deklariert wird:

    Dim B%

    Dies ist eine Abkürzung, die in VBA häufig verwendet wird.


Häufige Fehler und Lösungen

  • Fehler: "Variable nicht definiert"

    • Lösung: Stelle sicher, dass du alle Variablen vor ihrer Verwendung mit Dim deklariert hast.
  • Fehler: "Typ nicht definiert"

    • Lösung: Überprüfe, ob du die richtigen Datentypen für deine Variablen verwendest. Nutze die VBA-Hilfe, um mehr über die verschiedenen Datentypen zu erfahren.

Alternative Methoden

Für die Initialisierung von Arrays kannst du auch die ReDim-Anweisung verwenden, um die Größe eines Arrays dynamisch festzulegen. Beispiel:

Dim myArray() As Integer
ReDim myArray(1 To 5)

Dies ist besonders nützlich, wenn die Anzahl der Elemente zur Laufzeit unbekannt ist.


Praktische Beispiele

Hier ist ein vollständiges Beispiel, das zeigt, wie man ein VBA Array initialisieren kann und die Verwendung von Variablen:

Sub Beispiel()
    Dim A As Integer, B As Integer, myArray As Variant
    A = 10
    B = 20
    myArray = Array(A, B)

    MsgBox "Der erste Wert im Array ist: " & myArray(0)
End Sub

In diesem Beispiel werden die Variablen A und B initialisiert und dann in ein Array gespeichert.


Tipps für Profis

  • Verwende immer die exakte Typisierung deiner Variablen, um unerwartete Fehler zu vermeiden.
  • Nutze Option Explicit ganz oben in deinem Modul, um sicherzustellen, dass alle Variablen deklariert sind, bevor sie verwendet werden.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen As Byte, As Integer und As Long?
Byte kann Werte von 0 bis 255 speichern, Integer von -32.768 bis 32.767 und Long kann noch größere Werte speichern.

2. Warum sollte ich Variablen in VBA initialisieren?
Die Initialisierung von Variablen hilft, Speicherplatz effizient zu nutzen und verhindert Laufzeitfehler, die bei der Verwendung nicht definierter Variablen auftreten können.

3. Wie kann ich ein Array in VBA initialisieren?
Du kannst ein Array in VBA mit der Array-Funktion initialisieren oder die ReDim-Anweisung verwenden, um die Größe eines Arrays dynamisch festzulegen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige