Vba Rest Mod. Arithmetische Operatoren vba. Modulo-Division

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Zuweisungsoperator (=)

Der Zuweisungsoperator wird verwendet, um das Ergebnis eines Ausdrucks einer Variablen zuzuweisen.

Der Zuweisungsoperator hat zwei syntaktische Formen:

varname = Ausdruck

Varname- jede VBA-Variable

Ausdruck- ein beliebiger VBA-Ausdruck

Wenn Sie eine Zuweisungsanweisung ausführen, wertet VBA zunächst den Ausdruck rechts von der Zuweisungsanweisung aus und speichert dann das Ergebnis des Ausdrucks in der Variablen, deren Name links vom Gleichheitszeichen steht.

X = 5 + 7; Y = X + 5 ; Z = X – Y; A=B; Ich = Ich + 1

Anfänger verstehen manchmal die Bedeutung der letzten Zuweisungsoperation nicht, wenn sowohl der linke als auch der rechte Teil der Operation dieselbe Variable enthalten. In diesem Fall wird das Ergebnis der Auswertung des Ausdrucks auf der rechten Seite des Zuweisungsoperators zunächst an einem Zwischenspeicherort abgelegt und dann wird dieses Ergebnis der Variablen auf der linken Seite zugewiesen.

Wenn beispielsweise im Zuweisungsoperator A = A +5 die Variable A vor der Zuweisungsoperation den Wert 7 enthielt, enthält sie nach der Operation den Wert 12 (7+5).

Dinge, die Sie sich merken sollten:

· Sie können jede numerische Variable (oder jeden Ausdruck) jeder anderen numerischen Variablen (oder jedem Variantentyp) zuweisen.

· Wenn Sie einer typisierten Variablen einen numerischen Ausdruck mit geringerer Genauigkeit zuweisen (z. B. Double – Long), rundet VBA den Wert des Ausdrucks so, dass er mit der Genauigkeit der Variablen übereinstimmt, die den neuen Wert erhält.

· Wenn eine Variable vom Typ String zugewiesen ist Typvariable Variante, die eine Zahl enthält, VBA wandelt die Zahl automatisch in eine Zeichenfolge um.

Additionsoperator (+)

Der Additionsoperator führt eine einfache Addition durch. Beide Operanden müssen numerische Ausdrücke oder Zeichenfolgen sein, die VBA in eine Zahl umwandeln kann. Der Additionsoperator kann auch verwendet werden, um arithmetische Operationen an Datumsdaten durchzuführen.

Der Datentyp des Ergebnisses eines Additionsausdrucks ist normalerweise derselbe wie der genaueste Typ in diesem Ausdruck. Es gibt jedoch Ausnahmen:

· Das Ergebnis der Addition vom Typ Single und Long ist Double;

· Das Ergebnis des Hinzufügens eines Datumstyps zu einem anderen Datentyp ist immer ein Datum.

· Wenn das Ergebnis den Bereich des Typs „Integer“ überschreitet, konvertiert VBA es in „Long“.

· Wenn das Ergebnis die Typen Long, Single, Date überschreitet, konvertiert VBA es in Double;

· Wenn ein Operand in einem Additionsausdruck Null ist, ist das Ergebnis des Additionsausdrucks ebenfalls Null.

Erinnern wir uns an die Reihenfolge zunehmender Genauigkeit für numerische Datentypen: Byte, Integer, Long, Single, Double, Währung.

Es sollte gesagt werden, dass Sie klar verstehen müssen, wie VBA Datentypen als Ergebnis arithmetischer Operationen konvertiert. Dies wird in Zukunft dazu beitragen, viele „unnötige“ Fehler beim Schreiben von Code zu vermeiden.

Subtraktionsoperator (-)

Der Subtraktionsoperator bewirkt zwei Dinge: Er wird verwendet, um eine Zahl von einer anderen zu subtrahieren. steht für unäres Minus (das ist ein Minuszeichen, das einer Zahl vorangestellt wird, um anzuzeigen, dass es sich um eine negative Zahl handelt). Das Platzieren eines unären Minuszeichens vor einer Variablen oder einem Ausdruck ist dasselbe wie das Multiplizieren dieser Zahl mit -1.

Beide Operanden in einem Subtraktionsausdruck müssen numerische Variablen (Ausdrücke) oder Zeichenfolgenausdrücke sein, die VBA in eine Zahl umwandeln kann. Sie können den Subtraktionsoperator verwenden, um mit Datumsangaben zu arbeiten.

VBA verwendet zur Bestimmung des Datentyps des Ergebnisses eines Subtraktionsausdrucks dieselben Regeln wie für Ausdrücke, die den Additionsoperator verwenden. Aber es gibt noch eine Ergänzung:

· Wenn beide Operanden in einem Ausdruck vom Typ „Datum“ sind, dann ist das Ergebnis des Ausdrucks vom Typ „Double“.

Multiplikationsoperator (*)

Der Multiplikationsoperator multipliziert zwei Zahlen – das Ergebnis des Multiplikationsausdrucks ist das Produkt der beiden Operanden. Beide Operanden in einem Multiplikationsausdruck müssen numerische Ausdrücke oder Zeichenfolgen sein, die VBA in eine Zahl umwandeln kann.

VBA folgt zur Bestimmung des Datentyps des Ergebnisses eines Multiplikationsausdrucks denselben Regeln wie für Ausdrücke, die den Additionsoperator verwenden. In Multiplikationsausdrücken werden alle Variant-Variablen, die Datumswerte enthalten, in numerische Werte umgewandelt.

Divisionsoperator (/)

Der Gleitkomma-Divisionsoperator führt eine gewöhnliche arithmetische Division seiner Operanden durch.

Bei Divisionsausdrücken wird der erste Operand durch den zweiten Operanden dividiert – das Ergebnis der Division ist der Quotient.

Beide Operanden in einem Gleitkomma-Divisionsausdruck müssen numerische Ausdrücke oder Zeichenfolgen sein, die VBA in eine Zahl konvertieren kann.

Wenn mindestens ein Operand in einem Divisionsausdruck vom Typ Null ist, ist das Ergebnis der Division ebenfalls Null.

Der Datentyp einer Gleitkomma-Divisionsoperation ist Double, außer:

Beide Operanden im Divisionsausdruck sind vom Typ Integer oder Single – das Ergebnis ist Single;

Wenn das Ergebnis des Ausdrucks den Wertebereich für den Typ Single nicht überschreitet.

Ganzzahldivision (\)

Die Ganzzahldivision unterscheidet sich von der Gleitkommadivision dadurch, dass ihr Ergebnis immer eine ganze Zahl ohne Bruchteil ist.

Beide Operanden in einem ganzzahligen Divisionsausdruck müssen numerische Ausdrücke oder Zeichenfolgen sein, die VBA in eine Zahl konvertieren kann.

Bevor eine Ganzzahldivisionsoperation durchgeführt wird, rundet VBA jeden Operanden auf eine Zahl vom Typ „Integer“ oder „Long“ (derselbe Typ wie das Ergebnis der Ganzzahldivision).

VBA verwirft (aber rundet nicht!) jeden gebrochenen Rest des Ergebnisses eines ganzzahligen Divisionsausdrucks. Beispielsweise führen die Ausdrücke 22\5 und 24\5 zum gleichen Ergebnis = 4.

Wenn mindestens ein Operand in einem ganzzahligen Divisionsausdruck vom Typ Null ist, ist das Ergebnis der Division ebenfalls Null.

Modulo-Division (Mod)

Die Modulo-Division ergänzt die Ganzzahldivision. Bei der Modulo-Division gibt der Ausdruck nur den Rest der Division als Ganzzahl zurück.

22 Mod 5 = 2

24 Mod 5 = 4

25 Mod 5 = 0

Die übrigen Eigenschaften der Modulo-Division sind identisch mit der Ganzzahldivision.

Potenzierung (^)

Der Potenzierungsoperator potenziert eine Zahl.

5 ^ 3 =125

Beide Operatoren im Potenzierungsausdruck müssen numerische Ausdrücke oder Zeichenfolgen sein, die VBA in Zahlen konvertieren kann.

Der Operand links vom Potenzierungsoperator kann nur dann eine negative Zahl sein, wenn der Operand rechts eine ganze Zahl ist.

Das Ergebnis des Ausdrucks ist vom Typ Double.

Wenn mindestens ein Operand in einem Ausdruck vom Typ Null ist, ist das Ergebnis der Potenzierung ebenfalls Null.

Fassen wir das oben Gesagte zusammen:

VBA-LOGISCHE OPERATOREN

Der Operand für einen booleschen Operator kann jeder gültige Ausdruck sein, der ein boolesches Ergebnis hat, sowie eine Zahl, die in einen booleschen Wert konvertiert werden kann.

Das Ergebnis einer logischen Operation ist ein Wert vom Typ Boolean (oder Null, wenn mindestens einer der Operanden Null ist).

Logischer Operator AND

SYNTAX:

Operand_1 UND Operand_2

Der AND-Operator führt aus logische Konjunktion.

Das Ergebnis dieser Operation ist nur dann True, wenn beide Operanden True sind, andernfalls False.

Wahrheitstabelle

Der AND-Operator kann für mehrere Operanden verwendet werden:

(5<7) AND (4>3) UND (5=6) Das Ergebnis ist falsch

Unabhängig von der Anzahl der Operanden ist das Ergebnis der logischen UND-Operation nur dann wahr, wenn alle Operanden des Ausdrucks als wahr ausgewertet werden. In allen anderen Fällen ist das Ergebnis „Falsch“. Beachten Sie, dass die Operanden in Klammern eingeschlossen sind. VBA wertet zunächst den Wert jedes Operanden innerhalb der Klammern und dann den gesamten Ausdruck aus.

Logischer Operator OR

SYNTAX:

Operand_1 ODER Operand_2

Der OR-Operator tut dies logische Disjunktion.

Das Ergebnis dieser Operation ist True, wenn mindestens einer der Operanden True ist, andernfalls False.

Wahrheitstabelle

Der OR-Operator kann für mehrere Operanden verwendet werden:

(5<7) OR (4>3) ODER (5=6) das Ergebnis ist wahr

Unabhängig von der Anzahl der Operanden ist das Ergebnis der logischen ODER-Verknüpfung immer „True“, wenn mindestens einer der Operanden des Ausdrucks „True“ ist. Andernfalls ist das Ergebnis False.

Die Operatoren AND und OR können kombiniert werden:

((5<7) AND (4>3)) ODER (5=6) Das Ergebnis ist wahr

Logischer Operator NICHT

SYNTAX:

NICHT Operand

Der NOT-Operator tut dies logische Verneinung.

Der NOT-Operator verwendet nur einen Operanden.

Wahrheitstabelle

AND OR NOT-Operatoren können kombiniert werden:

((5<7) AND (4>3)) ODER NICHT (5=6) das Ergebnis ist wahr

Logischer Operator XOR

SYNTAX:

Operand_1 XOR Operand_2

Der XOR-Operator tut dies logische Ausnahme.

Das Ergebnis dieser Operation ist True, wenn die Operanden dies haben unterschiedliche Bedeutungen, andernfalls - Falsch.

Wahrheitstabelle

((5<7) AND (4>3)) OR NOT (5=6) XOR (5=5) das Ergebnis ist False

Logischer Operator EQV

SYNTAX:

Operand_1 EQV Operand_2

Der EQV-Operator ist der Operator logische Äquivalenz.

Das Ergebnis dieser Operation ist True, wenn die Operanden die gleichen Werte haben, andernfalls False.

Wahrheitstabelle

((5<7) AND (4>3)) ODER NICHT (5=6) EQV (5=5) das Ergebnis ist wahr.

Vergleichsoperatoren

Typischerweise werden Vergleichsoperationen in Schleifenoperatoren verwendet, um eine Entscheidung über den weiteren Ablauf von Operationen zu treffen.

Das Ergebnis jeder Vergleichsoperation ist ein boolescher Wert: True, False.

Wenn beide Operanden in einem Vergleichsausdruck denselben Datentyp haben, führt VBA einen einfachen Vergleich für diesen Typ durch.

Wenn beide Operanden in einem Vergleichsausdruck bestimmte Typen haben und die Typen nicht kompatibel sind, gibt VBA einen Typkonfliktfehler aus.

Wenn einer oder beide Operanden in einem Vergleichsausdruck Variablen vom Typ Variant sind, versucht VBA, den Typ Variant in einen kompatiblen Typ zu konvertieren.

Beim Schreiben von VBA-Code in Excel werden bei jedem Schritt eine Reihe integrierter Operatoren verwendet. Diese Operatoren werden in mathematische, Zeichenfolge-, Vergleichs- und logische Operatoren unterteilt. Als nächstes werden wir uns jede Gruppe von Operatoren im Detail ansehen.

Mathematische Operatoren

Die grundlegenden mathematischen VBA-Operatoren sind in der folgenden Tabelle aufgeführt.

Die rechte Spalte der Tabelle zeigt die standardmäßige Operatorpriorität ohne Klammern. Durch das Hinzufügen von Klammern zu einem Ausdruck können Sie die Reihenfolge, in der VBA-Anweisungen ausgeführt werden, nach Wunsch ändern.

String-Operatoren

Grundlegender String-Operator in Excel-VBA ist der Verkettungsoperator & (verschmelzen):

Vergleichsoperatoren

Vergleichsoperatoren werden verwendet, um zwei Zahlen oder Zeichenfolgen zu vergleichen und einen booleschen Wert wie z. B. zurückzugeben Boolescher Wert(Richtig oder falsch). Grundlegende Operatoren Excel-Vergleiche Die VBAs sind in dieser Tabelle aufgeführt:

Logische Operatoren

Logische Operatoren geben wie Vergleichsoperatoren einen booleschen Wert vom Typ zurück Boolescher Wert(Richtig oder falsch). Die grundlegenden logischen Excel-VBA-Operatoren sind in der folgenden Tabelle aufgeführt:

Die obige Tabelle listet nicht alle in VBA verfügbaren booleschen Operatoren auf. Volle Liste Boolesche Operatoren finden Sie im Visual Basic Developer Center.

Integrierte Funktionen

In VBA stehen viele integrierte Funktionen zur Verfügung, die beim Schreiben von Code verwendet werden können. Im Folgenden sind einige der am häufigsten verwendeten aufgeführt:

Funktion Aktion
Abs Gibt den absoluten Wert einer bestimmten Zahl zurück.
  • Bauchmuskeln (-20) gibt den Wert 20 zurück;
  • Bauchmuskeln(20) gibt den Wert 20 zurück.
Chr Gibt das ANSI-Zeichen zurück, das dem numerischen Wert des Parameters entspricht.
  • Chr(10) gibt Zeilenumbruch zurück;
  • Chr(97) gibt Zeichen zurück A.
Datum Gibt das aktuelle Systemdatum zurück.
DateAdd Fügt einem bestimmten Datum ein bestimmtes Zeitintervall hinzu. Funktionssyntax:

DateAdd( Intervall , Nummer , Datum )

Wo ist das Argument Intervall definiert die Art des Zeitintervalls, das zu einem gegebenen Wert hinzugefügt wird Datum in der im Argument angegebenen Menge Nummer .

Streit Intervall kann einen der folgenden Werte annehmen:

  • DateAdd(„d“, 32, „01.01.2015“) Addiert 32 Tage zum Datum 01.01.2015 und gibt somit das Datum 02.02.2015 zurück.
  • DateAdd(„ww“, 36, „01.01.2015“) Fügt 36 Wochen zum Datum 01.01.2015 hinzu und gibt das Datum 09.09.2015 zurück.
DateDiff Berechnet die Anzahl der angegebenen Zeitintervalle zwischen zwei angegebenen Daten.
  • DateDiff(„d“, „01.01.2015“, „02.02.2015“) berechnet die Anzahl der Tage zwischen den Daten 01.01.2015 und 02.02.2015 und gibt das Ergebnis 32 zurück.
  • DateDiff(„ww“, „01.01.2015“, „03.03.2016“) berechnet die Anzahl der Wochen zwischen den Daten 01.01.2015 und 03.03.2016 und gibt das Ergebnis 61 zurück.
Tag Gibt eine Ganzzahl zurück, die dem Tag des Monats am angegebenen Datum entspricht.

Beispiel: Tag („29.01.2015“) gibt die Zahl 29 zurück.

Stunde Gibt eine Ganzzahl zurück, die der Anzahl der Stunden in der angegebenen Zeit entspricht.

Beispiel: Stunde („22:45:00“) gibt die Zahl 22 zurück.

InStr Akzeptiert eine Ganzzahl und zwei Zeichenfolgen als Argumente. Gibt die Position des Vorkommens der zweiten Zeichenfolge innerhalb der ersten zurück und startet die Suche an der durch die Ganzzahl angegebenen Position.
  • InStr(1, „Hier ist das gesuchte Wort“, „Wort“) gibt die Zahl 13 zurück.
  • InStr(14, „Hier ist das Suchwort und hier ist ein anderes Suchwort“, „word“) gibt die Zahl 38 zurück.

Notiz: Das Zahlenargument darf nicht angegeben werden. In diesem Fall beginnt die Suche beim ersten Zeichen der Zeichenfolge, die im zweiten Argument der Funktion angegeben ist.

Int Gibt den ganzzahligen Teil der angegebenen Zahl zurück.

Beispiel: Int(5.79) gibt das Ergebnis 5 zurück.

Isdate Kehrt zurück WAHR wenn der angegebene Wert ein Datum ist, oder FALSCH– wenn es kein Datum ist.
  • IsDate(“01.01.2015”) kehrt zurück WAHR;
  • IsDate(100) kehrt zurück FALSCH.
IsError Kehrt zurück WAHR, wenn der angegebene Wert ein Fehler ist, oder FALSCH– wenn es sich nicht um einen Fehler handelt.
Wird vermisst Der Name eines optionalen Prozedurarguments wird als Argument an die Funktion übergeben. Wird vermisst kehrt zurück WAHR, wenn für das betreffende Prozedurargument kein Wert übergeben wird.
IsNumeric Kehrt zurück WAHR wenn der angegebene Wert als Zahl betrachtet werden kann, andernfalls wird zurückgegeben FALSCH.
Links Gibt die angegebene Anzahl von Zeichen vom Anfang der übergebenen Zeichenfolge zurück. Die Syntax der Funktion lautet wie folgt:

Links( Linie , Länge )

Wo Linie ist die ursprüngliche Zeichenfolge und Länge– die Anzahl der zurückgegebenen Zeichen, gezählt vom Zeilenanfang.

  • Links („abvgdezziklmn“, 4) gibt die Zeichenfolge „abvg“ zurück;
  • Links („abvgdezziklmn“, 1) gibt die Zeichenfolge „a“ zurück.
Len Gibt die Anzahl der Zeichen in einer Zeichenfolge zurück.

Beispiel: Len(“abvgdez”) gibt die Zahl 7 zurück.

Monat Gibt eine Ganzzahl zurück, die dem Monat am angegebenen Datum entspricht.

Beispiel: Monat („29.01.2015“) gibt den Wert 1 zurück.

Mitte Gibt eine angegebene Anzahl von Zeichen ab der Mitte der übergebenen Zeichenfolge zurück. Funktionssyntax:

Mitte( Linie , Start , Länge )

Wo Linie ist die Originalzeichenfolge Start– Position des Anfangs der extrahierten Zeile, Länge– die Anzahl der zu extrahierenden Zeichen.

  • Mitte („abvgdezziklmn“, 4, 5) gibt die Zeichenfolge „where“ zurück;
  • Mitte („abvgdezziklmn“, 10, 2) gibt die Zeichenfolge „cl“ zurück.
Minute Gibt eine Ganzzahl zurück, die der Anzahl der Minuten in einer bestimmten Zeit entspricht. Beispiel: Minute („22:45:15“) gibt den Wert 45 zurück.
Jetzt Gibt das aktuelle Systemdatum und die aktuelle Systemzeit zurück.
Rechts Gibt die angegebene Anzahl von Zeichen vom Ende der übergebenen Zeichenfolge zurück. Funktionssyntax:

Rechts( Linie , Länge )

Wo Linie ist die ursprüngliche Zeichenfolge und Länge– Dies ist die Anzahl der Zeichen, die extrahiert werden müssen, gezählt vom Ende der angegebenen Zeichenfolge.

  • Rechts („abvgdezziklmn“, 4) gibt die Zeichenfolge „clmn“ zurück;
  • Rechts („abvgdezziklmn“, 1) gibt die Zeichenfolge „n“ zurück.
Zweite Gibt eine Ganzzahl zurück, die der Anzahl der Sekunden in der angegebenen Zeit entspricht.

Beispiel: Zweitens („22:45:15“) gibt den Wert 15 zurück.

Quadrat Gibt die Quadratwurzel des als Argument übergebenen numerischen Werts zurück.
  • Quadratmeter(4) gibt Wert 2 zurück;
  • Quadratmeter(16) gibt den Wert 4 zurück.
Zeit Gibt die aktuelle Systemzeit zurück.
Ubound Gibt den hochgestellten Index der Dimension des angegebenen Arrays zurück.

Notiz: Bei mehrdimensionalen Arrays kann ein optionales Argument den Index angeben, dessen Dimension zurückgegeben werden soll. Wenn nicht angegeben, ist der Standardwert 1.

Zuweisungsoperator (=)

Der Zuweisungsoperator wird verwendet, um das Ergebnis eines Ausdrucks einer Variablen zuzuweisen.

Der Zuweisungsoperator hat zwei syntaktische Formen:

1 Sei varname = expression
2 varname = Ausdruck


Varname- jede VBA-Variable

Ausdruck- ein beliebiger VBA-Ausdruck


Die erste Version des Zuweisungsoperators wurde in den frühen Basic-Programmiersprachen verwendet. Die zweite Option wird in der modernen Version von VBA verwendet.


Wenn Sie eine Zuweisungsanweisung ausführen, wertet VBA zunächst den Ausdruck rechts von der Zuweisungsanweisung aus und speichert dann das Ergebnis des Ausdrucks in der Variablen, deren Name links vom Gleichheitszeichen steht.


X = 5 + 7; Y = X + 5 ; Z = X – Y; A=B; Ich = Ich + 1


Anfänger verstehen manchmal die Bedeutung der letzten Zuweisungsoperation nicht, wenn sowohl der linke als auch der rechte Teil der Operation dieselbe Variable enthalten. In diesem Fall wird das Ergebnis der Auswertung des Ausdrucks auf der rechten Seite des Zuweisungsoperators zunächst an einem Zwischenspeicherort abgelegt und dann wird dieses Ergebnis der Variablen auf der linken Seite zugewiesen.

Wenn beispielsweise im Zuweisungsoperator A = A +5 die Variable A vor der Zuweisungsoperation den Wert 7 enthielt, enthält sie nach der Operation den Wert 12 (7+5).

Dinge, die Sie sich merken sollten:

  • Sie können jede numerische Variable (oder jeden Ausdruck) jeder anderen numerischen Variablen (oder Variante) zuweisen;
  • Wenn Sie einer typisierten Variablen einen numerischen Ausdruck mit geringerer Genauigkeit zuweisen (z. B. „Double – Long“), rundet VBA den Wert des Ausdrucks so, dass er mit der Genauigkeit der Variablen übereinstimmt, die den neuen Wert erhält.
  • Wenn eine String-Variable einer Variant-Variable zugewiesen wird, die eine Zahl enthält, wandelt VBA die Zahl automatisch in eine Zeichenfolge um.

Additionsoperator (+)

Der Additionsoperator führt eine einfache Addition durch. Beide Operanden müssen numerische Ausdrücke oder Zeichenfolgen sein, die VBA in eine Zahl umwandeln kann. Der Additionsoperator kann auch verwendet werden, um arithmetische Operationen an Datumsdaten durchzuführen.


Der Datentyp des Ergebnisses eines Additionsausdrucks ist normalerweise derselbe wie der genaueste Typ in diesem Ausdruck. Es gibt jedoch Ausnahmen:

  • Das Ergebnis der Addition von Single und Long ist Double;
  • Das Hinzufügen eines Datumstyps zu einem anderen Datentyp führt immer zu einem Datum.
  • Wenn das Ergebnis den Bereich des Typs „Integer“ überschreitet, konvertiert VBA es in „Long“.
  • Wenn das Ergebnis die Typen „Long“, „Single“ und „Date“ überschreitet, konvertiert VBA es in „Double“.
  • Wenn ein Operand in einem Additionsausdruck Null ist, ist das Ergebnis des Additionsausdrucks ebenfalls Null.

Erinnern wir uns an die Reihenfolge zunehmender Genauigkeit für numerische Datentypen: Byte, Integer, Long, Single, Double, Währung.

Es sollte gesagt werden, dass Sie klar verstehen müssen, wie VBA Datentypen als Ergebnis arithmetischer Operationen konvertiert. Dies wird in Zukunft dazu beitragen, viele „unnötige“ Fehler beim Schreiben von Code zu vermeiden.

Subtraktionsoperator (-)

Der Subtraktionsoperator bewirkt zwei Dinge: Er wird verwendet, um eine Zahl von einer anderen zu subtrahieren. steht für unäres Minus (das ist ein Minuszeichen, das einer Zahl vorangestellt wird, um anzuzeigen, dass es sich um eine negative Zahl handelt). Das Platzieren eines unären Minuszeichens vor einer Variablen oder einem Ausdruck ist dasselbe wie das Multiplizieren dieser Zahl mit -1.


Beide Operanden in einem Subtraktionsausdruck müssen numerische Variablen (Ausdrücke) oder Zeichenfolgenausdrücke sein, die VBA in eine Zahl umwandeln kann. Sie können den Subtraktionsoperator verwenden, um mit Datumsangaben zu arbeiten.

VBA verwendet zur Bestimmung des Datentyps des Ergebnisses eines Subtraktionsausdrucks dieselben Regeln wie für Ausdrücke, die den Additionsoperator verwenden. Aber es gibt noch eine Ergänzung:
Wenn beide Operanden in einem Ausdruck vom Typ „Datum“ sind, ist das Ergebnis des Ausdrucks vom Typ „Double“.

Multiplikationsoperator (*)

Der Multiplikationsoperator multipliziert zwei Zahlen – das Ergebnis des Multiplikationsausdrucks ist das Produkt der beiden Operanden. Beide Operanden in einem Multiplikationsausdruck müssen numerische Ausdrücke oder Zeichenfolgen sein, die VBA in eine Zahl umwandeln kann.

VBA folgt zur Bestimmung des Datentyps des Ergebnisses eines Multiplikationsausdrucks denselben Regeln wie für Ausdrücke, die den Additionsoperator verwenden. In Multiplikationsausdrücken werden alle Variant-Variablen, die Datumswerte enthalten, in numerische Werte umgewandelt.

Divisionsoperator (/)

Der Gleitkomma-Divisionsoperator führt eine gewöhnliche arithmetische Division seiner Operanden durch.

Bei Divisionsausdrücken wird der erste Operand durch den zweiten Operanden dividiert – das Ergebnis der Division ist der Quotient.

Beide Operanden in einem Gleitkomma-Divisionsausdruck müssen numerische Ausdrücke oder Zeichenfolgen sein, die VBA in eine Zahl konvertieren kann.

Wenn mindestens ein Operand in einem Divisionsausdruck vom Typ Null ist, ist das Ergebnis der Division ebenfalls Null.

Der Datentyp einer Gleitkomma-Divisionsoperation ist Double, außer:

  • Beide Operanden im Divisionsausdruck sind vom Typ Integer oder Single – das Ergebnis ist Single;
  • Wenn das Ergebnis des Ausdrucks den Wertebereich für den Typ Single nicht überschreitet.

Ganzzahldivision (\)

Die Ganzzahldivision unterscheidet sich von der Gleitkommadivision dadurch, dass ihr Ergebnis immer eine ganze Zahl ohne Bruchteil ist.

Beide Operanden in einem ganzzahligen Divisionsausdruck müssen numerische Ausdrücke oder Zeichenfolgen sein, die VBA in eine Zahl konvertieren kann.

Bevor eine Ganzzahldivisionsoperation durchgeführt wird, rundet VBA jeden Operanden auf eine Zahl vom Typ „Integer“ oder „Long“ (derselbe Typ wie das Ergebnis der Ganzzahldivision).

VBA verwirft (aber rundet nicht!) jeden gebrochenen Rest des Ergebnisses eines ganzzahligen Divisionsausdrucks. Beispielsweise führen die Ausdrücke 22\5 und 24\5 zum gleichen Ergebnis = 4.

Wenn mindestens ein Operand in einem ganzzahligen Divisionsausdruck vom Typ Null ist, ist das Ergebnis der Division ebenfalls Null.

Modulo-Division (Mod)

Die Modulo-Division ergänzt die Ganzzahldivision. Bei der Modulo-Division gibt der Ausdruck nur den Rest der Division als Ganzzahl zurück.
22 Mod 5 = 2
24 Mod 5 = 4
25 Mod 5 = 0

Die übrigen Eigenschaften der Modulo-Division sind identisch mit der Ganzzahldivision.

Potenzierung (^)

Der Potenzierungsoperator potenziert eine Zahl.



Beide Operatoren im Potenzierungsausdruck müssen numerische Ausdrücke oder Zeichenfolgen sein, die VBA in Zahlen konvertieren kann.

Der Operand links vom Potenzierungsoperator kann nur dann eine negative Zahl sein, wenn der Operand rechts eine ganze Zahl ist.

Das Ergebnis des Ausdrucks ist vom Typ Double.

Wenn mindestens ein Operand in einem Ausdruck vom Typ Null ist, ist das Ergebnis der Potenzierung ebenfalls Null.


Fassen wir das oben Gesagte zusammen.

Schauen wir uns genauer an, wie VBA arithmetische Operationen wie Addition, Subtraktion, Multiplikation, Division und Potenzierung sowie spezielle Operationen wie Ganzzahldivision und Modulodivision ausführt. Die folgende Tabelle zeigt die Operationszeichen, die beim Schreiben arithmetischer VBA-Ausdrücke verwendet werden.

Ein Ausdruck ist ein Wert oder eine Gruppe von Werten, die einen einzelnen Wert ausdrücken. Das Ergebnis eines Ausdrucks ist ein einzelner Wert eines bestimmten Datentyps. Operationszeichen (Notationen) werden verwendet, um bestimmte Werte in Ausdrücken zu bearbeiten. Um das Ergebnis eines Ausdrucks einer Variablen zuzuweisen, verwenden Sie den Zuweisungsoperator (=), der den Wert, der durch den Ausdruck rechts vom Zuweisungsoperator dargestellt wird, an dem Speicherort speichert, auf den die Variable links von diesem Operator verweist.

Bei allen folgenden Operationen müssen beide Operanden numerische Ausdrücke oder Zeichenfolgen sein, die VBA in eine Zahl umwandeln kann.

Zusatz

Das (+)-Zeichen wird verwendet, um die Additionsoperation durchzuführen. Bei den Begriffen muss es sich um numerische Ausdrücke, Zeichenfolgen, die VBA in Zahlen umwandeln kann, oder Datumsangaben handeln, die auch für Arithmetik verwendet werden können.

Sub Slozhenie() „Beispiel eines arithmetischen Ausdrucks mit einem „+“-Zeichen Dim A1, A2, A3 As Integer „Variablen A1=1 deklarieren“ Variable A1 den Wert 1 zuweisen A2=2 „Variable A2 den Wert 2 zuweisen A3=A1 +A2 „Ergebnisaddition der Variablen A3 zuweisen MsgBox A3 „Ausgabe von A3 im End Sub-Dialogfeld

Der Datentyp des Ergebnisses eines Additionsausdrucks ist bis auf wenige Ausnahmen normalerweise derselbe wie der genaueste Typ in diesem Ausdruck. Alle Ausnahmen von dieser Regel werden in den Beispielen übersichtlich dargestellt.

Subtraktion

Das (-)-Zeichen wird zur Durchführung einer Subtraktionsoperation sowie zur Bezeichnung negativer Zahlen verwendet (wenn es vor einer Variablen oder einem Ausdruck platziert wird und dasselbe bedeutet wie eine Multiplikation mit -1). Ein Minuszeichen vor einer Zahl, das anzeigt, dass die Zahl negativ ist, wird als unäres Minuszeichen bezeichnet.

Um den Datentyp des Ergebnisses eines Subtraktionsausdrucks zu bestimmen, befolgt VBA dieselben Regeln wie für Ausdrücke, die den Additionsoperator verwenden, es gibt jedoch zwei zusätzliche Regeln.

Regel 1. Wenn in einem Subtraktionsausdruck einer der Operanden vom Typ Datum ist, dann ist das Ergebnis des Ausdrucks vom Typ Datum.

Regel 2: Wenn beide Operanden in einem Subtraktionsausdruck vom Typ „Datum“ sind, dann ist das Ergebnis des Ausdrucks vom Typ „Double“.

Sub Vychitanie() „Beispiel eines arithmetischen Ausdrucks mit dem Vorzeichen „-“ Dim D1, D2 As Date „deklariert Variablen D1=Now „weist der Variablen D1 den Wert des aktuellen Datums zu D2=Now-5 „weist den Wert von zu das Datum in die Variable D2 MsgBox TypeName(D2), vbOKOnly, „Now-5“ MsgBox TypeName(D1-D2), vbOKOnly, „D1-D2“ End Sub

Multiplikation

Das (*)-Zeichen wird verwendet, um eine Multiplikationsoperation durchzuführen. Das Ergebnis dieser Operation ist das Produkt der Operanden. Um den Datentyp des Ergebnisses eines Multiplikationsausdrucks zu bestimmen, verwendet VBA dieselben Regeln wie für Ausdrücke, die Addition verwenden. In Multiplikationsausdrücken werden alle Variant-Variablen, die Datumswerte enthalten, in numerische Werte umgewandelt.

„Beispiel für arithmetische Ausdrücke mit dem Vorzeichen „*“ 4*10 „Multiplikation von 4 mit 10 MyVar*2 „Multiplikation von MyVar mit 2 MyVar*OtherVar „Multiplikation von MyVar mit OtherVar

Aufteilung

Das Zeichen (/) wird zur Durchführung der Divisionsoperation verwendet. Dieses Zeichen wird als Divisionszeichen für reelle Zahlen bezeichnet. Bei Divisionsausdrücken wird ein Operand durch einen anderen dividiert und das Ergebnis der Division ist der Quotient.

„Beispiel für arithmetische Ausdrücke mit „/“-Zeichen 10/4 „Dividieren von 10 durch 4 MyVar/2 „Dividieren von MyVar durch 2 MyVar/OtherVar „Dividieren von MyVar durch OtherVar

Wenn einer der Operanden in einem Divisionsausdruck Null ist, ist auch das Ergebnis des Ausdrucks Null. Der Datentyp in Divisionsausdrücken für reelle Zahlen ist normalerweise Double, es gibt jedoch eine Ausnahme.

Wenn in einem Divisionsausdruck beide Operanden vom Typ Integer oder Single sind, ist das Ergebnis des Divisionsausdrucks vom Typ Single. Wenn das Ergebnis den Bereich für den Typ Single überschreitet, konvertiert VBA es in den Typ Double.

Ganzzahlige Division

Das Zeichen (\) wird verwendet, um eine ganzzahlige Division durchzuführen, bei der das Divisionsergebnis immer eine ganze Zahl ohne Bruchteil ist. VBA rundet den Quotienten der Ganzzahldivision nicht, sondern schneidet ihn einfach auf eine Ganzzahl ab und verwirft den Bruchteil.

Der Datentyp des Ergebnisses eines ganzzahligen Divisionsausdrucks ist entweder Integer oder Long. VBA verwendet den kleinsten Datentyp, der dem Ergebnis des Ausdrucks entspricht.

„Beispiel für arithmetische Ausdrücke mit dem Zeichen „\“ 10\4 „dividiert 10 durch 4; gibt 2 MyVar\2 „dividiert MyVar durch 2 MyVar\OtherVar“ zurück und dividiert MyVar durch OtherVar

Modulo-Division

Das (Mod)-Zeichen wird verwendet, um eine Modulo-Division durchzuführen. Bei einer Modulo-Division gibt der Ausdruck nur den Rest der Division als Ganzzahl zurück.

„Beispiel für vorzeichenbehaftete arithmetische Ausdrücke „Mod“ 8 Mod 2 „gibt 0 zurück; 5.1 Mod 3 „gibt 2 zurück; 6 Mod MyVar „Wenn MyVar 3 enthält, wird 0 zurückgegeben

Es wird eine leicht verständliche Erklärung dieser mathematischen Operation gegeben in einem der Programmiererforen. Ich zitiere daraus: „Stellen Sie sich vor, es gibt einen vollen 50-Liter-Kanister und ein 3-Liter-Glas. Und Sie fangen an, mit einer Dose Wasser aus dem Kanister zu schöpfen (Sie können nur ein volles Glas füllen). Sie haben 48 Liter herausgeschöpft.“ , es verbleiben 2 Liter. Dies ist der Rest der Division von 50 durch 3 Modulo " Mit anderen Worten: 50 Mod 3 gibt 2 zurück.

Der Datentyp des Ergebnisses eines Modulo-Divisionsausdrucks ist Integer oder Long. VBA verwendet den kleinsten Typ, der für das Ergebnis des Ausdrucks geeignet ist.

Potenzierung

Das Zeichen (^) wird verwendet, um die Potenzierung einer Zahl oder eines Ausdrucks durchzuführen. Der Exponent gibt an, wie oft eine Zahl oder ein Ausdruck mit sich selbst multipliziert werden muss.

„Beispiel für einen arithmetischen Ausdruck mit dem „^“-Zeichen 3 ^ 3 „ist dasselbe wie 3*3*3 und gibt den Wert 27 zurück


VBA-Operatoren: Arithmetik, Logik, Vergleiche, Zuweisungen

Operator ist die kleinste Einheit von VBA-Code, die ausgeführt werden kann. Eine Anweisung kann eine Variable deklarieren oder definieren, eine VBA-Compileroption festlegen oder eine Aktion in einem Programm ausführen.

In VBA gibt es nur 7 arithmetische Operatoren. Vier Standardoperatoren: Addition (+), Subtraktion (-), Multiplikation (*), Division (/) und drei weitere:

  • Potenzierung (^) zum Beispiel 2^3 = 8 ;
  • ganzzahlige Division (\). Dividiert die erste Zahl durch die zweite und verwirft den Bruchteil (ohne ihn zu runden). Zum Beispiel, 5\2 = 2 ;
  • Modulo-Division (Mod). Dividiert die erste Zahl durch die zweite und gibt nur den Rest der Division zurück. Zum Beispiel, 5 Mod 2 = 1.

Der Zuweisungsoperator in VBA ist das Gleichheitszeichen. Sie können es so schreiben:

Sei nVar = 10

oder noch einfacher:

nVar = 10

Im zweiten Fall dürfen Sie das Gleichheitszeichen nicht mit dem Gleichheitsoperator verwechseln.

Ausdruck

nVar = 10

bedeutet „nVar auf 10 setzen“, und wenn die Zeile so aussieht:

Wenn (nVar = 10)

dann bedeutet dies „wenn der Wert von nVar 10 ist“.

Wenn ein Objekt einer Variablen zugewiesen werden muss, erfolgt dies auf andere Weise.

In VBA gibt es nur 8 Vergleichsoperatoren:

  • Gleichheit (=), zum Beispiel, Wenn (nVar = 10);
  • größer als und kleiner als (> und<), например, Wenn (nVar > 10);
  • größer oder gleich und kleiner oder gleich (>= und<=), например, Wenn (nVar >= 10);
  • nicht gleich (<>), Zum Beispiel, If(nVar<>10) ;
  • Vergleich von Objekten (Ist). Legt fest, ob Objektvariablen auf dasselbe Objekt oder auf verschiedene Objekte verweisen, z. B. If(obj1 ist obj2);
  • Ähnlichkeit (Gefällt mir). Vergleicht ein Zeichenfolgenobjekt mit einem Muster und bestimmt, ob das Muster übereinstimmt.

Vergleichsoperatoren geben immer wahr oder falsch zurück – wahr, wenn die Aussage wahr ist, und falsch, wenn sie falsch ist.

Ein wenig über den Vergleich von String-Werten:

  • Beim Vergleich von Zeichenfolgenwerten wird die Groß-/Kleinschreibung berücksichtigt.
  • Leerzeichen in String-Werten werden ebenfalls berücksichtigt;
  • Beim Vergleich von Textzeichenfolgen für mehr/weniger als standardmäßig erfolgt der Vergleich einfach Binärcodes Zeichen - die mehr oder weniger sind. Wenn Sie die Reihenfolge im Alphabet verwenden müssen, können Sie den Befehl verwenden

Option Text vergleichen

Etwas mehr über den Like-Operator. Seine allgemeine Syntax sieht so aus

Ausdruck1 Wie Ausdruck2

In diesem Fall ist Ausdruck1 beliebig Textausdruck VBA und Ausdruck2 ist das Muster, das an den Like-Operator übergeben wird. In diesem Muster können Sie spezielle Platzhalter verwenden (siehe Tabelle 3.1).

Tisch 3.1 Platzhalter für den LIKE-Operator

Sehr oft werden bei der Prüfung mehrerer Bedingungen logische Operatoren verwendet:

  • UND – logisches UND, beide Bedingungen müssen wahr sein;
  • ODER – logisches ODER, mindestens eine der Bedingungen muss wahr sein;
  • NOT – logische Negation, gibt TRUE zurück, wenn die Bedingung falsch ist;
  • XOR ist eine logische Ausnahme. In einem E1-XOR-Ausdruck gibt E2 TRUE zurück, wenn nur E1 = TRUE oder nur E2 = TRUE, andernfalls FALSE;
  • EQV – Äquivalenz zweier Ausdrücke, gibt TRUE zurück, wenn sie denselben Wert haben;
  • IMP – Implikation, gibt FALSE zurück, wenn E1 = TRUE und E2 = FALSE, andernfalls TRUE.

Sie müssen sich an AND, OR, NOT erinnern, andere logische Operatoren werden selten verwendet.

Fast jedes VBA-Programm verwendet Verkettungsoperatoren. In VBA gibt es zwei davon – + oder &. Es wird empfohlen, immer & zu verwenden, weil:

  • bei Verwendung von & werden numerische Werte automatisch in String-Werte umgewandelt – es besteht keine Fehlergefahr;
  • Bei Verwendung des +-Operators führt das Hinzufügen eines Zeichenfolgenwerts zu einem Wert vom Typ Null zu Null.

MsgBox „Nachricht an Benutzer“ und vUserName

Die Reihenfolge, in der die Operatoren verwendet werden, kann mithilfe von Klammern gesteuert werden.



Freunden erzählen