Integer (Int) Variablentyp
Die VBA Int Datentyp wird verwendet, um ganze Zahlen (keine Dezimalwerte) zu speichern. Wie wir jedoch weiter unten sehen werden, müssen die Integer-Werte im Bereich von -32768 bis 32768 liegen.
Um eine Int-Variable zu deklarieren, verwenden Sie die Dim-Anweisung (kurz für Dimension):
1 | Dim intA als Integer |
Um dann einer Variablen einen Wert zuzuweisen, verwenden Sie einfach das Gleichheitszeichen:
1 | intA = 30000 |
Das Einfügen in eine Prozedur sieht so aus:
12345678 | Sub IntExample()'die ganze Zahl deklarierenDim intA als Integer'die ganze Zahl auffüllenintA = 30000'zeige die NachrichtenboxMsgBox intAEnd Sub |
Wenn Sie den obigen Code ausführen, wird das folgende Meldungsfeld angezeigt.
Langer Variablentyp
Wie oben erwähnt, können Int-Variablen nur Werte zwischen -32768 und 32768 speichern. Wenn Sie versuchen, einer Int-Variablen einen Wert außerhalb dieses Bereichs zuzuweisen, erhalten Sie eine Fehlermeldung:
Wenn Sie auf Debug klicken, wird der Code an der 'fülle die Integer-Zeile als Ganzzahl kann keine Zahl bis zu 50000 speichern.
Stattdessen können Sie eine Variable mit dem deklarieren Lang Datentyp:
1 | Dim longA wie Long |
Lange Variablen können sehr lange Datentypen speichern (-2.147.483.648 bis 2.147.483.648).
<>
Warum würden Sie Int-Variablen anstelle von Long-Variablen verwenden?
Lange Variablen verwenden mehr Speicher. Vor Jahren war der Speicher beim Schreiben von Code ein großes Problem, aber jetzt ist die Computertechnologie stark verbessert und es ist zweifelhaft, dass Sie beim Schreiben von VBA-Code auf Speicherprobleme stoßen, die durch lange Variablen verursacht werden.
Wir empfehlen, immer Long-Variablen anstelle von Int-Variablen zu verwenden. Wir werden dieses Tutorial mit den Int-Variablen fortsetzen, aber denken Sie daran, dass Sie stattdessen den Variablentyp Long verwenden können.
Dezimalwerte und Int-Datentypen
Int-Variablen können keine Dezimalwerte speichern. Wenn Sie einer Dezimalzahl eine ganze Zahl übergeben, wird die Dezimalzahl gerundet, um die Dezimalzahl zu entfernen.
Wenn Sie daher das folgende Verfahren ausführen:
12345678 | Sub IntExampleB()'die ganze Zahl deklarierenDim intA als Integer'die ganze Zahl auffüllenintA = 3524,12'zeige die NachrichtenboxMsgBox intAEnd Sub |
Sie erhalten folgendes Ergebnis (abrunden):
Aber dieser Code unten:
12345678 | Sub IntExampleB()'deklariere die ganze ZahlDim intA als Integer'die ganze Zahl auffüllenintA = 3524,52'zeige die NachrichtenboxMsgBox intAEnd Sub |
Würde das folgende Meldungsfeld zurückgeben (aufrunden):
Dezimal / Doppelter Datentyp
Wenn Sie eine Dezimalstelle speichern möchten, müssen Sie eine Variable deklarieren, die Dezimalstellen zulässt. Es gibt 3 Datentypen, die Sie verwenden können - Single, Double oder Currency.
1 | Dim sngPreis als Single |
1 | Dim dblPreis als Double |
1 | Dim curPreis als Währung |
Der Datentyp Single rundet den Dezimalpunkt etwas anders als der Datentyp Double und Currency, daher ist es aus Gründen der Genauigkeit vorzuziehen, Double zu Single zu verwenden. Ein Double kann bis zu 12 Dezimalstellen haben, während Währung und Single bis zu 4 Dezimalstellen haben können.
Weitere Informationen zu diesen Datentypen finden Sie hier.
Int-Variable auf Modul- oder globaler Ebene deklarieren
In den vorherigen Beispielen haben wir die Variable Int innerhalb einer Prozedur deklariert. Mit einer Prozedur deklarierte Variablen können nur innerhalb dieser Prozedur verwendet werden.
Stattdessen können Sie Int-Variablen auf Modul- oder globaler Ebene deklarieren.
Modulebene
Modulebene Variablen werden am Anfang von Codemodulen mit dem deklariert Dim Stellungnahme.
Diese Variablen können mit jeder Prozedur in diesem Codemodul verwendet werden.
Globale Ebene
Globale Ebene Variablen werden auch am Anfang von Codemodulen deklariert. Anstatt jedoch die Dim Anweisung, verwenden Sie die Öffentlich -Anweisung, um anzugeben, dass die Integer-Variable für die Verwendung in Ihrem gesamten VBA-Projekt verfügbar ist.
1 | Öffentliche IntA als Integer |
Wenn Sie die Ganzzahl auf Modulebene deklarieren und dann versuchen, sie in einem anderen Modul zu verwenden, würde ein Fehler auftreten.
Wenn Sie jedoch das Schlüsselwort Public verwendet hätten, um die Ganzzahl zu deklarieren, würde der Fehler nicht auftreten und die Prozedur würde perfekt ausgeführt.
String in Int umwandeln
Es kann eine Instanz oder Instanzen geben, in denen Sie eine als String gespeicherte Zahl in einen ganzzahligen Wert konvertieren müssen.
Sie werden im unmittelbaren Fenster bemerken, dass der Integer-Wert nach rechts geht und eine Zahl anzeigt, während der String-Wert nach links geht und Text anzeigt.
Int in String umwandeln
Umgekehrt können Sie einen ganzzahligen Wert in eine Zeichenfolge umwandeln.
Weitere Informationen zu diesen Datentypen finden Sie hier.
Als String gespeicherte Ganzzahl formatieren
<>