Muss noch mal nerver

  • Themenstarter Themenstarter i125
  • Beginndatum Beginndatum
I

i125

Hi nochmal,

folgende Frage, wie kann ich überprüfen ob eine Variable existiert? Und wie kann ich eine For schleife Abbrechen:


For i = 1 To 10
If str_array(i) = "Praxis" Or str_array(i) = "Arzthaus" Or str_array(i) = "Dr." Or str_array(i) = "Gemeinschaftspraxis" Then
Else
ovar = mvar
mvar = CStr(ovar) + CStr(str_array(i))
MsgBox str_array(i), 0, "h"
End If
Next i

Bei PHP würde ich ja wie folgt prüfen:

PHP:
if (isset($asdf)) {
}
else{
}

Gruss

Alexander
 
Was du mit dem Variablen überprüfen meinst, weiß ich nich!
Du weist doch selbst, ob du eine Variable deklariert hast.

Du kannst dann schauen, ob die Variable leer ist oder wie groß ein Array ist. Ansonsten wüsste ich nicht was du meinst!:(

Eine Schleife brichst du ganz einfach mit exit und der Schleifenart ab. So wie du auch eine sub oder eine function verlassen kannst.

Also: Exit For
 
Ja, Zorck hat doch eine! Mehr antworten könnte ich jetzt auch nicht, vor allem weil mir nicht klar ist, was eigentlich gefragt íst.
 
Zorck hat gesagt.:
Was du mit dem Variablen überprüfen meinst, weiß ich nich!
Du weist doch selbst, ob du eine Variable deklariert hast.

Die Frage ist: Wie kann ich prüfen ob eine Variable existiert?

Dabei geht es nicht um eine Variable, die im gleichen Makro ist. Deshalb will ich prüfen ob sie deklariert ist. (wenn nicht, läuft das andere Makro nicht)
 
Tut mir leid, ich kann mir beim besten Willen nichts darunter vorstellen! Willst du nachschauen, ob irgendwo im Makro-Code steht "Dim Hallo as String"?
 
nein, nein : )

Ich habe Code in einer Datei, die Änderungen in den Zellen überwacht. Jetzt bearbeite ich diese Datei mit einem anderen Makro und dabei will ich die Überwachung ausstellen. Das wollte ich einfach mit einer Variablen machen: Wenn diese Variable nicht existiert - gibt esFehlermeldungen aus (Überwachung); wenn die Variable existiert, dann läuft das Makro, dem es erlaubt ist Änderungen vorzunehmen und es müssen keine Meldungen angezeigt werden.

Gestaltet sich echt schwierig, das in Worte zu fassen. Vielleicht kannst Du mit genaueren Fragen mich auf die richtige Erklärung bringen?!

Danke
noreya
 
Hi noreya

also das eine Variable declariert wurde kannst Du doch erzwingen, indem Du "Option Explicit" setzt. Dein Makro wird sofort abbrechen, wenn Du eine Variable verwendest, die für den aktuellen Context nicht declariert wurde. Ist bei mir per Default eingestellt.

Und eine For-Schleife kannst Du jederzeit mit "Exit For" frühzeitig verlassen.

Gruß
Das Orakel
 
Genau das ist der Knackpunkt: Wenn ich eine Variable verwenden will, die nicht deklariert ist, bricht das Makro ab! Ich suche wie igfas nach dem "isset": Eine Überprüfung, ob es diese Variable aktuell gibt (ein anderes Makro gerade läuft und diese Variable zur Verfügung stellt)

Steht mir dabei Option Explicit vielleicht sogar im Weg?!
 
Naja,

Du könntest das "Option Explicit" weglassen. Das führt zumindest nicht zu einem Laufzeitfehler. Eine Prüfung mittels If VarType(Deine_Variable) liefert dann den Wert vbEmpty . Vielleicht kannst Du ja damit was Anfangen.

Gruß
Das Orakel
 
Zurück