Hat VBA einen ternären Operator?

10

Ich komme aus der schönen Welt von Obj C, die auf der Programmiersprache C basiert, und ich habe mich in die Suche nach skurrilen Möglichkeiten, Platz zu sparen, verliebt. Ich habe jedoch so viele Dokumente durchgeschaut wie möglich und kann auf VBA nichts Saftiges finden, das diese Syntax verkürzt:

%Vor%

In Obj C und natürlich C ist mir das sehr vertraut:

%Vor%

Dies ist sehr ähnlich zu dem, was die meisten anderen langagues verwenden, einige verwenden möglicherweise zusätzliche logische Operatoren wie != oder == , aber das lässt mich optimistisch. Ich habe vielleicht nicht an den richtigen Stellen gesucht, wenn das der Fall ist BITTE lassen Sie mich wissen , wo Sie Ihre Dokumentation bekommen.

TLDR, können wir If / Then / Else auf eine Codezeile in VBA verkürzen? Dies ist sehr praktisch , wenn das "Etwas tun" nichts anderes ist, als den Einzelparameter einer anderen Variablen zu setzen oder eine Schaltfläche zu aktivieren / deaktivieren.

    
soulshined 11.01.2017, 16:39
quelle

3 Antworten

10
%Vor%     
cyboashu 11.01.2017, 16:41
quelle
11

Die nächste Funktion ist Iif()

%Vor%

aber:

  • Sie können seine Zweige nicht einfach ausführen, während Sie seinen Rückgabewert einer Variablen zuweisen müssen

  • es schließt nicht

    kurz

    es wertet immer beide Zweige aus, so dass, sollte einer von ihnen ausfallen, auch wenn nicht der "echte", würde die Anweisung trotzdem einen Fehler werfen

Die ähnliche Anweisung lautet also:

%Vor%

wo:

  • boolVar ist eine boolesche Variable

  • sub1 und sub2 sind zwei verschiedene Subs / Funktionen, die aufgerufen werden sollen

user3598756 11.01.2017 18:26
quelle
1

Alternativ können Sie die folgende öffentliche Funktion in einem Modul erstellen:

%Vor%

Bis jetzt funktioniert für mich.

    
Jose Natali 09.02.2018 01:57
quelle

Tags und Links