2 Stimmen

Visual Basic/Excel - Mehrere Äquivalenzen?

Eine einfache Frage: Kann ich mehrere Werte in einer Gleichung haben, z. B:

x = y = z = 25

Hinweis: Dies gilt für Excel-Makros.

1voto

iDevlop Punkte 24046

Nein, das können Sie nicht. Ich denke, das wäre eine Bewertung für x = False da
z = 25 Falsch ist, y = False ist wahrscheinlich falsch.
Sie würden also x den Wert False zuweisen.

1voto

e.James Punkte 112528

Die kurze Antwort lautet: "Nein".

Beispiel-Code:

Sub Test()
    Dim x As Integer
    Dim y As Integer
    Dim z As Integer

    x = 1
    y = 1
    z = 1

    x = y = z = 25

    Cells(1, 1).value = x
    Cells(2, 1).value = y
    Cells(3, 1).value = z
End Sub

Ausgabe:

0
1
1

Erläuterung:

In VBA gibt es keinen ==-Operator, so dass die Zeile als eine Folge von booleschen Ausdrücken interpretiert wird, deren Endergebnis x zugewiesen wird:

x = (y = (z = 25))
x = (y = FALSE)
x = (FALSE)

y und z bleiben unverändert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X