Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

LongVariable zurücksetzen

311 views
Skip to first unread message

Jürgen Stadermann

unread,
Mar 29, 2012, 6:26:50 AM3/29/12
to
Hallo,
Ich habe eine Variable Allgemein wie folgt deklariert, sodass diese über
mehrere Prozeduren ihre Gültigkeit behält..
Dim Identzähler As Long

Nachdem alle Prozeduren durchgelaufen sind, möchte ich vor End Sub der
letzten Prozedur, diese Variable zurücksetzen.
Schreibe ich Identzähler = ""
bekomme ich (prozedurbedingt) per MsgBox die meldung .... kein Zahlenwert.
Alle Eintragungen durch VBA sind aber richtig erfolgt.
Frage also: die "Fehlermeldung" muß weg, d.H. die Variable muss richtig
zurückgesetzt werden. Auf Null zurücksetzen klappt auch nicht, da ja -
eben die Null - dann in der Variablen ist.

Wer kann da helfen?
Ich arbeite mit Excel 2010 Sp1.

Jürgen

Bernhard Sander

unread,
Mar 29, 2012, 7:28:18 AM3/29/12
to
Hallo Jürgen,
Du kannst den Wert Empty zuweisen:
Identzähler = Empty

Dann passiert aber auch nichts anderes, als dass der Variable der Wert 0
zugewiesen wird.

Wegen der Dim Anweisung legst Du fest, dass die Variable nur numerische Werte
speichern kann. Einen Wert "Variable ist nicht verwendet" (genau das ist Empty)
gibt es nicht bei numerischen Datentypen. Den gibt es nur beim Typ Variant.

Im übrigen, wenn Du die Variable mal im Überwachungsfenster anschaust, wirst Du
sehen, dass auch dann, wenn die Variable noch nie mit einem Wert belegt wurde,
sie den Wert 0 enthält.

NB: man sollte streng unterscheiden zwischen Null und 0. VBA tut das nämlich auch.
Identzähler=0 ' klappt
Identzähler=Null ' Fehlermeldung
Zugegeben, im deutschen werden Null und 0 gleich ausgesprochen. Im Englischen
hat man die Begriffe null und zero. Und leider sind die Zahl 0 und der Buchstabe
O nur schwer zu auseinanderzuhalten...

Gruß
Bernhard Sander

0 new messages