Das Archiv des Excel-Forums

variable logic operators

Bild

Betrifft: variable logic operators
von: Tino

Geschrieben am: 15.10.2003 12:08:22

Hallo,

hat jemand eine idee wie man logic operators variable programmieren kann? Background: Eine if...then schleife hat bis zu fuenf conditions die jeweils mit AND oder OR und <, >, = verbunden sind.
Eine moeglichkeit ist natuerlich alle moeglichen varianten zu programmieren, nur bei denn vielen kombination ist das nicht gerade sehr hilfreich; ausserdem kann man dann schlecht aenderungen einbauen und muss den ganzen code aendern.

ich hatte mir vorgestellt eine methode zu programmieren:

Sub Test (logicOp1 as ..., logicOp2 as..., ...) as boolean

hier wuerde sich dann eine if.. then schleife befinden, etwa so:

If 500 logicOp1 [e.g. >] VariableA logicOp2 [e.g. AND] 400 logicOp1 [e.g.=] Variable B then
...
EndIf

kann man so etwas ueberhaupt in VB/VBA machen?

Ich bin fuer jede kommentar wirklich dankbar
vielen dank fuer die hilfe.

tino
Bild


Betrifft: AW: variable logic operators
von: Michael Scheffler
Geschrieben am: 15.10.2003 12:44:57

Hi,

die logischen Variablen heißen Boolean, hast Du ja schon herausgefunden.

Dann ist für Mehrfach-If's das "Select Case" zu empfehlen.

"<" oder ">" geht bei Boolschen nicht.

Aus der Hilfe:
Logische Operatoren
And (Operator)

Eqv (Operator)

Imp (Operator)

Not (Operator)

Or (Operator)

Xor (Operator)

Gruß

Micha


Bild


Betrifft: Ansatz
von: ChrisL
Geschrieben am: 15.10.2003 12:49:16

Hi Tino

Ich kenne natürlich die genauen Umstände nicht, denn spontan scheint mir dass du damit nicht wirklich eine Vereinfachung des Codes/Struktur erreichst, es sei denn dass die VariableA, VariableB etc. in Wirklichkeit Konstante sind.

Habe erst an eine Funktion gedacht, die mit Select Case je nach LogicOp die entsprechende Abfrage durchführt. Scheint mir aber insbesondere aufgrund der Kombination AND und OR schwierig.

Die Idee die ich nun habe, ist die Abfrage mittels String zusammen zu bauen und dann über eine Zelle.Formula zu gehen. Mit dem AND/OR wird es aber trotzdem schwierig. Insbesondere, wenn noch solche Abfragen dazu kommen... IF (X = Y OR X > Y) AND (Z < Y) etc. also mit Klammern.

Hier mal ein Denkanstoss...

Option Explicit


Sub Makro()
Dim VariableA As Double, VariableB As Double
VariableA = 1000
VariableB = 1200
Range("A1").Formula = "=IF(" & VariableA & Op(1) & VariableB & ",TRUE)"
MsgBox Range("A1").Value
Range("A1").ClearContents
End Sub




Function Op(logicOP As Byte) As String
Select Case logicOP
Case 1: Op = "<"
Case 2: Op = "="
Case 3: Op = ">"
'etc.
End Select
End Function



Gruss
Chris


 Bild

Excel-Beispiele zum Thema " variable logic operators"

Variablenübergabe in andere Arbeitsmappen download Text aus Textbox in Variable download
Einlesen von Zellinhalten in Variablen download Variable in Formel einbauen download
Variable in Excel-Formel einbauen. download Text aus UserForm-Textbox in Variable einlesen download
Variable in Zwischenablage übernehmen download Variablen in einer temporären Textdatei zwischenspeichern download
Zellinhalte in Verbindung mit Variablen in Textdatei schreiben download Feldvariable auf Inhalt testen download
Umgebungsvariable aus der autoexec.bat auslesen download Textvariable in eine UserForm-TextBox eintragen download
Zinstabelle mit variablen Rückzahlungen download Auflistung der Kalenderwochen eines variablen Jahres download
Namen nach dem Zufallsprinzip in variable Gruppen aufteilen download Kapitalverzinsung mit fixen Raten und variablen Zinsen download
Darlehensverzinszung bei variablen Rückzahlungsraten download Variablen auf mehrere Arten in Funktionen integrieren download
Benennung und Wert von Umgebungsvariablen ermitteln download Mit variablem oberer und unterer Rahmenlinie drucken download
Arbeitsblatt an variable Email-Adresse per Outlook versenden download Variable Spalten in UserForm-ComboBox einlesen download
Einsatz des Schnittstellen-Operators download