LongVariable zurücksetzen

29/03/2012 - 12:26 von Jürgen Stadermann | Report spam
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
 

Lesen sie die antworten

#1 Bernhard Sander
29/03/2012 - 13:28 | Warnen spam
Hallo Jürgen,

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.



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

Ähnliche fragen