PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VB Excel - Bedingung


ooAlbert
2012-04-17, 22:13:16
Hi,

ich versuch momentan ein Makro in Excel 2010 zu erzeugen. Das Makro hat eine Bedingung die jedoch nur halb ausgeführt wird:

If ((variable1 <> variable2) Or (variable1 <> 0)) Then
...
End If

Das Ergebnis ist, das zwar korrekt gegen Variable2 geprüft wird aber nicht auf Null. Mach ich da was falsch?

Grüße

Exxtreme
2012-04-17, 22:27:03
Was hat variable1 für einen Datentyp?

Edit: Und das Konstrukt ist irgendwie strange.

Denn damit es NICHT ausgeführt wird muss variable1 0 sein und variable1 muss variable2 entsprechen. Also variable2 muss ebenfalls 0 sein. Da reicht eine Prüfung der variable1 auf 0.

ooAlbert
2012-04-18, 00:26:42
Das sind alles Integer. Naja es können halt Zahlen zwischen 0 und 10 entstehen und sollte es eine null sein oder dem wert von V2 entsprechen soll nichts passieren andernfalls eben die Anweisung.

evil_overlord
2012-04-18, 06:45:26
UND-Verknüpfung.

Rockhount
2012-04-18, 09:46:14
Hast Du es mal probiert, die Klammern wegzulassen?
=> if variable1 <> variable2 or variable1 <> 0 then

Oder die Bedingung umstellen?

=>
if variable1 = variable2 or variable1=0 then goto ende else
{Rest der if Schleife}
end if
ende:
end sub

Exxtreme
2012-04-18, 10:51:56
Das sind alles Integer. Naja es können halt Zahlen zwischen 0 und 10 entstehen und sollte es eine null sein oder dem wert von V2 entsprechen soll nichts passieren andernfalls eben die Anweisung.
Wie schon geschrieben, die Anweisung wird nur dann übersprungen wenn variable1 0 ist und variable2 ebenfalls 0 ist. In allen anderen Fällen wird sie ausgeführt.

Matrix316
2012-04-18, 13:29:32
Hi,

ich versuch momentan ein Makro in Excel 2010 zu erzeugen. Das Makro hat eine Bedingung die jedoch nur halb ausgeführt wird:

If ((variable1 <> variable2) Or (variable1 <> 0)) Then
...
End If

Das Ergebnis ist, das zwar korrekt gegen Variable2 geprüft wird aber nicht auf Null. Mach ich da was falsch?

Grüße
Wenn der erste Vergleich true ist, ist bei einem ODER die ganze Gleichung immer true.

Rockhount
2012-04-18, 14:15:11
if variable1=variable2 then goto ende
else
if variable1=0 then goto ende
else
{auszuführende Operationen}
End if
End if
Ende:
End Sub

Rockhount
2012-04-20, 13:39:02
Feedback?

robobimbo
2012-04-20, 17:34:35
Feedback für goto? :D