Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
320to324
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
320to324
320to324
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

variable logic operators

variable logic operators
15.10.2003 12:08:22
Tino
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variable logic operators
15.10.2003 12:44:57
Michael Scheffler
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
Ansatz
15.10.2003 12:49:16
ChrisL
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
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige