Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Operator in Variable VBA

Operator in Variable VBA
31.08.2016 18:05:20
Peter
Hallo VBA-Spezialisten
Ich möchte in VBA die Operatoren +, -, *, / in einer Variablen speichern, welche ich später für die Berechnung verwenden kann.
Beispiel:
Dim Operator as string
Dim Zahl1 as long
Dim Zahl2 as long
Dim Ergebnis as long
Operator = "+"
Zahl1 = 1
Zahl2 = 2
Wie muss ich die Operator-Variable deklarieren (String, Variant)?
Wie lautet dann die Syntax für die Berechnung mit der Operatorvariable?
Folgende Ansätze habe ich erfolglos versucht:
Ergebnis = Zahl1 Operator Zahl2
Ergebnis = Zahl1 + Operator + Zahl2
Ergebnis = Zahl1 & Operator & Zahl2
Vermutlich ist es etwas ganz banales, was ich übersehe.
Für Eure Hilfe danke ich Euch bestens.
Lieber Gruss
Peter
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Operator in Variable VBA
31.08.2016 18:21:13
Daniel
Hi
ja, du übersiehst, dass du für das, was du vor hast, die Funktion EVALUATE benötigst, welche in der Lage ist, einen Textstring der aussieht wie eine Berechnungsformel zu berechnen:
Sub test()
Dim Zahl1 As Long
Dim Zahl2 As Long
Dim Operator As String
Dim Ergebnis As Double
Zahl1 = 1
Zahl2 = 2
Operator = "+"
Ergebnis = Evaluate(Zahl1 & Operator & Zahl2)
End Sub
Gruß Daniel
Anzeige
AW: Operator in Variable VBA
31.08.2016 19:49:56
Peter
Hallo Daniel
Vielen Dank für den Tipp. Das hat bestens funktioniert.
Lieber Gruss
Peter
;
Anzeige
Anzeige

Infobox / Tutorial

Operator in Variable VBA nutzen


Schritt-für-Schritt-Anleitung

Um einen Operator in einer Variablen in VBA zu speichern und damit Berechnungen durchzuführen, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Variablen deklarieren: Definiere die Variablen für die Zahlen und den Operator.

    Dim Operator As String
    Dim Zahl1 As Long
    Dim Zahl2 As Long
    Dim Ergebnis As Double
  2. Werte zuweisen: Weise den Variablen die gewünschten Zahlen und den Operator zu.

    Zahl1 = 1
    Zahl2 = 2
    Operator = "+"
  3. Berechnung durchführen: Nutze die Evaluate-Funktion, um die Berechnung durchzuführen.

    Ergebnis = Evaluate(Zahl1 & Operator & Zahl2)
  4. Ergebnis ausgeben: Optional kannst du das Ergebnis mit einer MsgBox ausgeben.

    MsgBox Ergebnis

Häufige Fehler und Lösungen

  • Fehler: "Typenkonflikt" oder "Undefinierte Funktion".

    • Lösung: Stelle sicher, dass du die Evaluate-Funktion korrekt verwendest. Diese Funktion kann nur in bestimmten Kontexten verwendet werden, daher ist es wichtig, dass der Code in einem Sub oder Function steht.
  • Fehler: Ergebnis ist nicht das Erwartete.

    • Lösung: Prüfe, ob der Operator korrekt im String gespeichert ist. Stelle sicher, dass du die richtigen Operatoren wie +, -, *, und / verwendest.

Alternative Methoden

Es gibt verschiedene Ansätze, um mit Operatoren in VBA zu arbeiten:

  1. Select Case: Du kannst die Operatoren auch mit einer Select Case-Anweisung implementieren.

    Select Case Operator
       Case "+"
           Ergebnis = Zahl1 + Zahl2
       Case "-"
           Ergebnis = Zahl1 - Zahl2
       Case "*"
           Ergebnis = Zahl1 * Zahl2
       Case "/"
           Ergebnis = Zahl1 / Zahl2
    End Select
  2. Direkte Berechnung: Anstatt einen Operator in einer Variable zu speichern, kannst du auch die Berechnung direkt durchführen, wenn die Operation bekannt ist.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Operatoren in VBA nutzen kannst:

  • Addition:

    Operator = "+"
    Ergebnis = Evaluate(Zahl1 & Operator & Zahl2) ' Ergebnis: 3
  • Subtraktion:

    Operator = "-"
    Ergebnis = Evaluate(Zahl1 & Operator & Zahl2) ' Ergebnis: -1
  • Multiplikation:

    Operator = "*"
    Ergebnis = Evaluate(Zahl1 & Operator & Zahl2) ' Ergebnis: 2
  • Division:

    Operator = "/"
    Ergebnis = Evaluate(Zahl1 & Operator & Zahl2) ' Ergebnis: 0.5

Tipps für Profis

  • Verwendung von Variant: Wenn du verschiedene Datentypen in einem Ausdruck verwenden möchtest, kann es hilfreich sein, die Variablen als Variant zu deklarieren.

  • Debugging: Nutze Debug.Print um die Werte während der Entwicklung zu überprüfen. So kannst du feststellen, ob die Variablen die erwarteten Werte haben.

  • Operatoren erweitern: Du kannst auch benutzerdefinierte Operatoren erstellen, indem du die Logik in Funktionen kapselst, um komplexere Berechnungen durchzuführen.


FAQ: Häufige Fragen

1. Kann ich Operatoren in einer Excel-Formel verwenden? Ja, du kannst die gleichen Operatoren in Excel-Formeln verwenden, jedoch nicht in der gleichen Weise wie in VBA.

2. Welche Datentypen sind für Operatoren in VBA geeignet? Du kannst String, Long, Double oder Variant verwenden, je nach den Anforderungen deiner Berechnung.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige