Excel VBA - If Not ... Like ... Wurm drin

4 Antworten

Also ohne mich groß darin zu vertiefen würde ich sagen:

ElseIf eingabe1 <> "1" And eingabe1 <> "5" And eingabe2 = "" Then
...

SO wird der Then-Teil ausgeführt, wenn weder 1 noch 5 in der Variablen steht.

Das "OR" in Deiner Formel heißt ja dass eingabe1 ungleich 1 oder ungleich 5 ist, und das ist natürlich immer der Fall, wenn sie 1 ist, ist sie ungleich 5 und wenn sie 5 ist, ist sie ungleich 1.

Und natürlich solltest Du nicht ....eingaben1 <>5 schreiben, denn das wäre eine andere Variable!

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

i ch kenne zwar das Like (noch?) nicht, aber lass mal das** then** nach Elseif weg, da gehört keins hin. Stattdessen das, was dann gemacht werden soll, in der nächsten Zeile.

Oder ist es die erste Bedingung, dann heißt es nur if ... then
in der zweiten Zeile ist es auf jeden Fall verkehrt!
Ersetze mal das like durch = , dann müsste es auch gehen!
vllt stammt das Like aus einer anderen Sprache?


Sven8219 
Beitragsersteller
 19.05.2013, 15:16

nene, geht schon dann weiter :-) Nur hängt er mir ebenan der Bedingung, er führt somit immer das then (was danach kommt) aus, auch wenn 1 oder 5 drin steht

0
Iamiam  19.05.2013, 21:55
@Sven8219

mag sein, vllt erinnere ich mich falsch. Ich probier sowas immer neu aus.

0

Dein Code ist kein VBA, es enthält Anweisungen aus dem SQL

Wenn ich Deine Ausführungen richtig deute dann müsste der Code so sein :

If eingabe1 <> "1"And eingabe1 <> "5" And eingabe2 = "" Then

      MsgBox "Erfüllt"

else

    MsgBox "nicht erfüllt"

end if

Dieser Sch...Editor hier macht die Eingabe von ungleich (Kleiner als gefolgt von größer als) im Code unmöglich. Daher nochmal den Code als Bild.

Code als Bild - (Microsoft Excel, Office, VBA)

Oubyi, UserMod Light  19.05.2013, 19:21

OT:

Dieser Sch...Editor hier macht die Eingabe von ungleich (Kleiner als gefolgt von größer als) im Code unmöglich.

DAS habe ich bis vor kurzem auch gedacht, aber die fehlerhafte Anzeige z.B. von > als > erscheint nur in der Vorschau, beim Schreiben, und nicht mehr nach dem hochladen!

a <> b

Ansonsten hatte ich die Korrektur mit And statt Or auch schon vorgeschlagen.

0

Also für alle, die es noch interessiert, die Lösung:

ElseIf Not (eingabe1 = "1" Or eingabe1= "5") And eingabe2= "" Then