HERBERS Excel-Forum - das Archiv

Thema: VBA-Befehlswort als Variable

VBA-Befehlswort als Variable
peterli
Hallo, ich suche nach einer VBA-Lösung für folgende Aufgabenstellung:

Innerhalb einer verschachtelten IF-Abfrage mit logischen Verknüpfungen sollen diese (also 'and' '
Or') variabel gehalten werden, d.h. je nach dem welche Verknüpfung der Anwender auswählt (Kombinationsfeld) soll im VBA-Code 'And' bzw. 'Or' eingesetzt werden.
Also innerhalb einer zusammengesetzten Bedingung soll über eine Variable einer der beiden boolschen Operatoren angewendet werden.
Ich habe versucht in der If-Abfrage eine Variable einzusetzen; hier bekomme ich dann einen Syntaxfehler angezeigt.

Welche Möglichkeiten gibt es noch?
AW: VBA-Befehlswort als Variable
Oberschlumpf
Hi,

Welche Möglichkeiten gibt es noch?
Du könntest uns bitte per Upload eine Excel-Bsp-Datei mit allem, was erforderlich ist (Bsp-Daten, Kombinationsfeld(er), usw, zeigen.
Denn zumindest ich versteh anhand nur deiner Beschreibung kaum etwas, bzw, für mich ergeben sich beim Lesen eher Fragen, als dass mir eine Idee einfällt.

Ciao
Thorsten
AW: VBA-Befehlswort als Variable
peterli
Genau das, was Daniel schreibt meine ich: Kann man VBA-Code per User-Eingabe variabel gestalten?

Ich kann natürlich eine SELECT CASE nehmen, müsste dann aber den ganzen Code jeweils wiederholen (sehr unübersichtlich), wobei ich ja nur die Verknüpfung (AND oder OR) zweier Bedingungen durch den Benutzer steuern möchte.
AW: VBA-Befehlswort als Variable
daniel
wenn du meinen Beitrag gelesen hast, dann solltest du diese Fragen jetzt nicht mehr stellen.
ich habe sie dir beantwortet (NEIN) und dir eine alternative Lösungsmöglichkeit für deinen speziellen Fall (und/oder variabel) aufgezeigt.
Gruß Daniel
AW: VBA-Befehlswort als Variable
Oberschlumpf
Hi,

a) Daniel hat deine Frage doch schon beantwortet. Wieso fragst du mich das Gleiche noch mal?
b) Die von mir gewünschte Bsp-Datei hast du noch nicht gezeigt per Upload - sorry, da kann zumindest ich nicht weiterhelfen

Ciao
Thorsten
AW: VBA-Befehlswort als Variable
JoWE
AW: VBA-Befehlswort als Variable
Daniel
Hi

Du möchtest Variabel gestalten, ob zwei Vergleiche mit UND oder ODER verknüpft werden ?

Also im Prinzip so etwas (A und B stehen für zwei Ausdrücke, die WAHR oder FALSCH ergeben und jetzt mit UND oder ODER (je nach Auswahl) kombiniert werden sollen?
x = Auswahl: AND, OR

If (A) x (B) Then...


Also VBA-Code selbst kann man nicht "variabel" programmieren. Du müsstest hier schon beide Varianten programmieren und dann ver Vorauswahl in den gewünschten Teil verzweigen.

Aber es gibt einen Workaround, der ausnutzt, dass in Berechnungen ein FALSE als 0 und ein TRUE als -1 gilt.

Wenn du also die beiden Ausdrücke addierst, dann muss das Ergebnis für ein UND -2 sein und für ein ODER -1 (bzw -2).
Das ist dann ein Vergleich mit Zahlenwerten und Zahlenwerte können Variabel sein:
x = Auswahl -1 , -2

IF ((A) + (B)) <= x then


Gruß Daniel
AW: VBA-Befehlswort als Variable
Oberschlumpf
Hi Jochen,

oder auch Select Case....aber ob nun Select oder If Then... besser ist, kann zumindest ich noch nich beurteilen, weil mir die Beschreibung noch zu schwammig ist.
Und Peterli, falls du das hier auch liest, bitte versuch dich nicht allein an nur einer besseren Beschreibung, sondern bitte...Bsp-Datei per Upload.

Ciao
Thorsten