Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1652to1656
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
Inhaltsverzeichnis

variable Operatoren

variable Operatoren
30.10.2018 09:45:11
Olli
Hallo zusammen,
ich habe ein Problem mit den logischen Operatoren. Dieser soll als variable gespeichert werden und dann in die Abfrage eingesetzt werden. Auf Basis des Operators und des Suchwerts sollen die Zeilen dann gruppiert werden.
Bsp.: Spalte A (Bereich) hat Werte von 1 bis 17014969. Über den Operator (=) und das Kriterium (z.B. 1000) sollen nun alle Werte gruppiert werden, welche nicht dem Operator & Kriterium entsprechen. Also Und das funktioniert nicht wie ich es mir vorstelle.
Vielleicht hat ja jemand von euch einen weiteren Lösungsansatz.
Vielen Dank!
Code:
Sub Zeile_gruppieren_3()
Dim c As Range
Dim Bereich As String
Dim Operator As String '(=)
Dim Kriterium As String
On Error GoTo Ende
ActiveSheet.Cells.ClearOutline
Bereich = InputBox("Kriterienbereich angeben", "Gruppierung")
Operator = InputBox("Operator eingeben", "Gruppierung")
Kriterium = InputBox("Suchkriterium eingeben", "Gruppierung")
For Each c In ActiveSheet.Range(Bereich)
' Hier funktioniert es nicht:
If c.Value = Operator & Kriterium Then
c.Rows.Group
End If
Next
Ende:
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variable Operatoren
30.10.2018 09:57:55
Daniel
Hi
es ist in VBA nicht möglich, Textstrings direkt wie Programmcode ausführen zu lassen.
Es gibt nur die Möglichkeit, Textstrings mit Hilfe der Funktion EVALUATE wie eine Formel berechnen zu lassen:

If Evaluate(c.value & Operator & Kriterium) Then
der andere Weg wäre, den Operator abzufragen und die möglichen Fälle direkt zu programmieren.
Select Case Operator
Case "=": If C.value = Clng(Kriterium) then c.rows.group
Case "": If C.value > Clng(Kriterium) then c.rows.group
Case ">=" if c.Value >= Clng(Kriterium) then c.rows.group
Case "

Gruß Daniel
Anzeige
AW: variable Operatoren
30.10.2018 09:57:56
Daniel
Hi
es ist in VBA nicht möglich, Textstrings direkt wie Programmcode ausführen zu lassen.
Es gibt nur die Möglichkeit, Textstrings mit Hilfe der Funktion EVALUATE wie eine Formel berechnen zu lassen:

If Evaluate(c.value & Operator & Kriterium) Then
der andere Weg wäre, den Operator abzufragen und die möglichen Fälle direkt zu programmieren.
Select Case Operator
Case "=": If C.value = Clng(Kriterium) then c.rows.group
Case "": If C.value > Clng(Kriterium) then c.rows.group
Case ">=" if c.Value >= Clng(Kriterium) then c.rows.group
Case "

Gruß Daniel
Anzeige
AW: variable Operatoren
30.10.2018 09:57:57
Daniel
Hi
es ist in VBA nicht möglich, Textstrings direkt wie Programmcode ausführen zu lassen.
Es gibt nur die Möglichkeit, Textstrings mit Hilfe der Funktion EVALUATE wie eine Formel berechnen zu lassen:

If Evaluate(c.value & Operator & Kriterium) Then
der andere Weg wäre, den Operator abzufragen und die möglichen Fälle direkt zu programmieren.
Select Case Operator
Case "=": If C.value = Clng(Kriterium) then c.rows.group
Case "": If C.value > Clng(Kriterium) then c.rows.group
Case ">=" if c.Value >= Clng(Kriterium) then c.rows.group
Case "

Gruß Daniel
Anzeige
AW: variable Operatoren
30.10.2018 10:03:19
Olli
Hallo Daniel,
sowas habe ich mir schon fast gedacht. Schade.
Danke für deine hilfreiche Antwort!
AW: variable Operatoren
30.10.2018 17:44:42
onur

Sub Zeile_gruppieren_3()
Dim c As Range
Dim Bereich As String
Dim Operator As String '(=)
Dim Kriterium As String
On Error GoTo Ende
ActiveSheet.Cells.ClearOutline
Bereich = InputBox("Kriterienbereich angeben", "Gruppierung")
Operator = InputBox("Operator eingeben", "Gruppierung")
Kriterium = InputBox("Suchkriterium eingeben", "Gruppierung")
For Each c In ActiveSheet.Range(Bereich)
Cells(100, 100).Formula = "=" & c.Address & Operator & Kriterium
If Cells(100, 100) Then
c.Rows.Group'Dieser Teil ist von Dir, daher ungetestet
End If
Next
Ende:
End Sub

Anzeige
Das geht auch mit Formeln
30.10.2018 23:35:50
lupo1
=VORZEICHEN(A1-3)
1 für A1&gt3
0 für A1=3
-1 für A1&lt3
______________________________
=ABS(A1-"14:"+1%%%)&lt8/24
WAHR für Tag (von 6: bis vor 22:)
FALSCH für Nacht
AW: variable Operatoren
31.10.2018 09:49:11
Olli
Guten Morgen und vielen Dank euch allen für die Hilfe. Der Tipp von Daniel hat mir sehr weitergeholfen.
Ein wirklich tolles Forum hier :)
Viele Grüße Olli
AW: variable Operatoren
31.10.2018 09:49:12
Olli
Guten Morgen und vielen Dank euch allen für die Hilfe. Der Tipp von Daniel hat mir sehr weitergeholfen.
Ein wirklich tolles Forum hier :)
Viele Grüße Olli

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige