Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
416to420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
416to420
416to420
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Komisches OR bei if-Abfrage

Komisches OR bei if-Abfrage
Stefan
Folgendes Problem.
Ich habe in einem Form ein Textfeld txt1
Nun mache ich folgende Abfrage:
If (txt1.Value = "") Or (CInt(txt1.Value) = 0) Then
Ist das Textfeld nun tatsächlich leer (also ="") dann bricht die Abfrage mit dem Fehler ab, dass die Typen nicht kompatibel sind (wohl wegen des CInt).
Aber eigentlich sollte die Abfrage bei Or ja schon vorher abgebrochen werden.
Frage ich folgendermassen ab, so geht die Abfrage.
If (txt1.Value = "") then
else if (CInt(txt1.Value) = 0) Then
Dann geht der Code in die erste if-Abfrage.
Aber wieso geht das nicht in eine Zeile? Was mache ich falsch?
Stefan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Komisches OR bei if-Abfrage
Waltraud
VBA wertet beide Teile der Abfrage aus, es bricht nicht ab wenn eine Bedingung schon zutrifft
AW: Komisches OR bei if-Abfrage
Stefan
Das hatte ich mir schon gedacht. Allerdings finde ich dieses Verhalten mehr als seltsam.
Die Abfrage wird dadurch doch wesentlich komplizierter, weil ich ja jetzt noch eine elseif Bedingung brauche.
Außerdem ist das ja nicht gerade toll für die Performance.
Aber danke für die Bestätigung dieses komischen Verhaltens.
Stefan
AW: Komisches OR bei if-Abfrage
Hans
Ein .Value ist grundsätzlich was numerisches und das auf String zu vergleichen ist doch etwas gewagt. Nimm halt die .Text Eigenschaft, dafür wurde sie erfunden ....
Gruß HW
Anzeige
AW: Komisches OR bei if-Abfrage
Stefan
Das habe ich auch gemacht.
Aber selbst mit .Text tritt der gleiche Fehler auf.
Es liegt einfach an der Abarbeitung des Or
Stefan
AW: Komisches OR bei if-Abfrage
Hans
Und so..
If (txt1.Text = "") Or (CInt(Val(txt1.Value)) = 0) Then
Gruß HW
AW: Komisches OR bei if-Abfrage
Stefan
Mit Val() funktioniert es tatsächlich.
Danke für den Tipp.
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige