Vba größer gleich

Um mit den Werten in Variablen zu rechnen, gibt es verschiedene Arten von Operatoren.

Arithmetische Operatoren

Die typischen „Taschenrechneroperatoren“ werden „arithmetische Operatoren“ genannt und sind für Zahlen aller Art gedacht.

Sub Arithmetik()
Dim x As Long, y As Long

x = (1 + 2) / 3 
x = x + 1       
y = x           
y = x - 1       
y = 2 ^ 8       
x = x * 2       
y = x / 3       

Debug.Print y   

End Sub

Wenn wir den obigen Code ausführen, wird 1 zurückgegeben - obwohl doch zuletzt 4 geteilt durch 3 gerechnet wurde! y ist eine Variable vom Typ Long und kann daher keine Nachkommastellen speichern. Wäre y vom Typ Double, wäre 1,33333333333333 ausgegeben worden, und vom Typ Currency wäre es 1,3333.

Zu den arithmetischen Operatoren zählen auch noch \ (Backslash: Nur der Ganzzahlanteil einer Division wird zurückgegeben) und Mod (Modulo: Der „Rest“ einer Division wird zurückgegeben).

Verkettungsoperatoren

Für Strings gibt es die Verkettungsoperatoren, nämlich + und &.

Sub Verkettungen()
Dim text1 As String, text2 As String
Dim zahl1 As Long, zahl2 As Long
Dim ergebnis As Long


text1 = "Vorname "

text2 = "Nachname"
zahl1 = 1
zahl2 = 2

ergebnis = zahl1 & zahl2

Debug.Print text1 + text2   
Debug.Print text1 & text2   
Debug.Print text1 & zahl1   
Debug.Print zahl1 & zahl2   
Debug.Print ergebnis        

End Sub

Ist einer der beiden Operanden ein String, spielt es keine Rolle, ob man + oder & verwendet, das Ergebnis ist stets eine Verkettung. Wenn allerdings beide Operanden Zahlen sind, wird + als Addition, und & als Verkettung interpretiert. Um Unklarheiten zu vermeiden, sollte man für Verkettungen stets & verwenden.

Im obigen Beispiel geben die beiden letzten Print-Befehle nicht ganz identische Ergebnisse aus: In der letzten Zeile befindet sich ein Leerzeichen vor der  12. Das liegt daran, weil der &-Operator zunächst einen String zurückgibt. In der letzten Zeile wird allerdings ergebnis ausgegeben, welches einen Zahlentyp hat. Das Leerzeichen ist eine Art „Platzhalter“ für ein Vorzeichen; bei negativen Zahlen steht dort ein Minuszeichen. Das Beispiel zeigt, dass man sich um eine „Umrechnung“ zwischen verschiedenen Datentypen nicht kümmern muss. Der Datentyp für das Ergebnis muss nur groß genug sein.

Vergleichsoperatoren

Für Zahlenvergleiche gibt es die Vergleichsoperatoren.

Sub vergleiche()
Dim x As Boolean

x = (1 = 1)     
x = (1 < 2)     
x = (1 > 2)     
x = (1 <= 2)    
x = (1 >= 2)    
x = (1 <> 2)    

End Sub

Die Klammern in diesem Beispiel dienen übrigens nur der Übersichtlichkeit. Ohne die Klammern wären die Ergebnisse identisch.

Für Strings gibt es zusätzlich noch den Like−Operator. Mit ihm können Platzhalterzeichen verwendet werden, um zu prüfen, ob ein String einem Muster entspricht:

Debug.Print "Maier" Like "*ai*"
Wahr

Folgende Platzhalterzeichen sind möglich:

Platzhalterzeichen
SymbolBeispielErgebnisVerwendung
* Like "*er" findet Maier, Müller, Junker Eine beliebige Anzahl Zeichen
? Like "Ma?er" findet Maier, Majer, Mayer Ein beliebiges einzelnes Zeichen
# Like "1#3" findet 103, 113, 123 Eine einzelne Ziffer
[ ] Like "Ma[iy]er" findet Maier und Mayer, aber nicht Majer Eines der Zeichen in den Klammern
! Like "Ma[!iy]er" findet Majer, aber nicht Maier oder Mayer Ein nicht in den Klammern aufgelistetes Zeichen
- Like "b[a-c]d" findet bad, bbd, bcd Ein Zeichen im angegebenen Bereich

Logische Operatoren

Logische Operatoren geben Wahr oder Falsch zurück. Ist einer der Operanden Null, ist das Ergebnis stets Null.

Sub Logik()
Dim x As Boolean

x = True And False 
x = True Or False  
x = Not True       
x = True Xor False 
x = True Eqv False 
x = True Imp False 

End Sub

Mit logischen Operatoren kann man auch bitweise Vergleiche zwischen Zahlen durchführen. Diese Thematik führt über das VBA-Tutorial hinaus. Wer sich mit Binärarithmetik auskennt, dem dürfte das folgende Beispiel als Einstieg genügen:

Sub bitweise()
Dim x As Byte

x = 254
Debug.Print x And 15    

End Sub

In der Binärarithmetik werden Zahlen häufig hexadezimal, gelegentlich oktal geschrieben. Das ist auch in VBA möglich, indem man &H bzw. &O vor den entsprechenden Zahlenwert schreibt. Anstelle von 255 kann man also auch &HFF oder &O377 schreiben.

Wird VBA abgeschafft?

Dementsprechend begrüßte man auf Security-Seite, als Microsoft im Februar ankündigte, ab der Version 2203 die VBA-Makros in Access, Excel, PowerPoint, Visio und Word in den Default-Einstellungen standardmäßig zu deaktivieren.

Was ist der Unterschied zwischen Makro und VBA?

Beide Frameworks sind darauf ausgelegt, Personen, die sich nicht als Programmierer betrachten, zu befähigen, kleine Programme in Excel zu erstellen. Der grundlegende Unterschied besteht darin, dass VBA-Makros für Desktoplösungen entwickelt werden und Office Skripts für sichere, cloudbasierte Lösungen entwickelt wurden.

Sollte man VBA lernen?

Zum Beispiel, wenn Sie bei Ihrer Arbeit in Office effizienter, produktiver und glücklicher werden wollen, lohnt sich ein Einstieg in VBA. Viele wiederkehrende Arbeitsabläufe und manuelle Schrittabfolgen lassen sich mit etwas VBA-Know-how einfach automatisieren.

Was ist mit VBA möglich?

Die Excel-VBA-Programmierung ermöglicht es den verschiedenen Microsoft-Office-Applikationen wie Excel, Word und PowerPoint außerdem, Daten, Tabellen oder Diagramme untereinander auszutauschen.