Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Variables and Data Types | VBA Fundamentals
Excel VBA für Geschäftsautomatisierung

Variables and Data Types

Swipe um das Menü anzuzeigen

Jedes von Ihnen geschriebene Verfahren benötigt einen Ort, um Werte während der Ausführung zu speichern – beispielsweise den Namen eines Kunden, eine laufende Summe oder ein Ja/Nein-Kennzeichen. Genau das ist eine Variable: eine beschriftete Box im Speicher, in die Sie einen Wert legen und später wieder auslesen können. Sie erstellen eine Variable mit Dim (Abkürzung für „dimension“) und geben VBA im Voraus an, welche Art von Wert sie aufnehmen soll:

Dim productName As String
Dim currentStock As Integer
Dim unitPrice As Double

Jede Zeile reserviert einen beschrifteten Speicherplatz: productName kann nur Text aufnehmen, currentStock nur ganze Zahlen, unitPrice nur Zahlen mit Dezimalstellen. Die Angabe des Typs im Voraus ist keine reine Bürokratie – sie ermöglicht es VBA, Fehler zu erkennen, bevor daraus Bugs werden. Wenn Sie versuchen, productName = 47 auszuführen, stoppt VBA Sie sofort mit einem Typkonflikt-Fehler, anstatt stillschweigend etwas Falsches zu speichern und später für Verwirrung zu sorgen.

Gängige Datentypen

Faustregel: Verwenden Sie Long statt Integer für Zähler und Zeilennummern – in modernen Excel-Versionen ist das nicht langsamer und es kommt bei großen Datenmengen nicht zu Überläufen. Sie werden Dim i As Long in diesem Kurs überall sehen.

Option Explicit

Setzen Sie diese einzelne Zeile ganz oben in jedes Modul, vor jede Sub. Sie bewirkt Folgendes: VBA verweigert nun die Ausführung jeder Zeile, die eine Variable verwendet, die Sie nicht vorher mit Dim deklariert haben:

Option Explicit
 
Sub Example()
    Dim total As Double
    total = 100        ' works — declared above
    toatl = 200        ' typo — Option Explicit catches this at compile time
End Sub

Ohne Option Explicit erzeugt dieser Tippfehler stillschweigend eine neue Variable namens toatl, und Sie fragen sich zwanzig Minuten lang, warum total sich nie ändert. Diese eine Gewohnheit verhindert mehr Fehler als alles andere in diesem Kapitel.

Konstanten

Konstanten sind benannte Werte, die sich während der Programmausführung nie ändern – ideal für Dinge wie Steuersätze oder Schwellenwerte:

Const REORDER_THRESHOLD As Integer = 20

Die Verwendung von REORDER_THRESHOLD anstelle von überall 20 einzutippen bedeutet: Wenn sich die Geschäftsregel ändert, bearbeiten Sie nur eine Zeile statt Ihren gesamten Code durchsuchen zu müssen.

Aufgabe

  1. In Section_2_VBA_Fundamentals.xlsm eine Sub-Prozedur schreiben, die eine String-Variable für einen Produktnamen, eine Double-Variable für den Preis und eine Integer-Variable für den Lagerbestand deklariert.
  2. Die Werte für USB-C Hub direkt zuweisen, indem die Literalwerte eingetippt werden.
  3. Mit MsgBox alle drei Werte in einer Nachricht anzeigen, zusammengefügt in einer Zeichenkette.
  4. Const LOW_STOCK As Integer = 20 oberhalb der Sub hinzufügen und in einer MsgBox für den Vergleich mit der Lagerbestandsvariable verwenden.
Hinweis
expand arrow
  1. Es werden drei Dim-Zeilen mit unterschiedlichen Typen benötigt — siehe Abbildung 2.1 für die Syntax: Dim name As Type.
  2. Die Zeile für USB-C Hub hat Price 39.50, Stock 44. Diese Werte einfach direkt zuweisen: price = 39.50.
  3. Für die Verkettung wird & verwendet, nicht +. Die Zeichenkette in Teilen zusammensetzen: "Name: " & productName & ", Price: " & price.
  4. Konstanten werden außerhalb einer Sub deklariert, ganz oben im Modul, direkt nach Option Explicit. Den Vergleich von stockCount mit LOW_STOCK mit einem einfachen > oder < in einer MsgBox-Zeichenkette durchführen — eine If-Anweisung ist noch nicht nötig, einfach beide Werte anzeigen, um den Vergleich zu sehen.
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 1

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 2. Kapitel 1
some-alt