Excel 2016 VBA Grundkurs

Vergleichsoperatoren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mit Operatoren können Sie nicht nur rechnen, sondern auch vergleichen. Dazu können Sie die vordefinierten Vergleichsoperatoren einsetzen. Es gibt noch ein paar weitere Operatoren, die sehr hilfreich sind. Diese gelten für verschiedene Datentypen und können Ihren Programmcode erheblich verkürzen.

Transkript

Die weiteren Operatoren, die es in VBA gibt, die nicht für das Rechnen zuständig sind, wie die normalen Operatoren, sondern für das Vergleichen, möchte ich Ihnen ebenfalls in einem eigenen Modul zeigen. Das habe ich schon angelegt, das heißt einfach "modVergleichen" und dort fange ich mit der einfachsten an, "sub VergleichGroesser". Denken Sie daran, nie Umlaute oder gar "ß" in Namen zu verwenden, das gibt nur Ärger, daher schreibe ich "Groesser" so. Eingerückt mit der Tab-Taste dann das übliche "debug.Print", wie es zu Testzwecken immer am nettesten ist. Dort will ich nun vergleichen, ob "3" größer als "2" ist. Das sieht jetzt sehr banal aus, typischerweise hätte man eigentlich irgendeine Variable oder wie ich das jetzt hier machen werde, mit Konstante, deshalb kommt jetzt hier eine modulöffentliche Konstante, die ich mit "m_c" kennzeichnen will. Das ist dann eine Integerzahl, die ich mal "Zwei" nenne. Ich muss hier wieder ein Kommentarzeichen dahinter machen. Das simuliert jetzt eine Variable, wie das normalerweise wäre, Sie haben also einen Vergleich, einen konkreten Wert mit einem unbekanntem Wert. Auch wenn der jetzt namentlich schon sagt, was dort steht, simuliert das jetzt hier, dass ich im Code etwas mit dem anderen vergleiche, von dem ich zur Zeit nicht weiß, was darin steht. Wenn ich jetzt also "3 2" erfragen will, natürlich immer nach dem Speichern mit "F5", dann sehen Sie, das ist "Wahr". Wenn ich probiere, ob "1" denn größer als diese Konstante ist, dann werde ich herausbekommen – wenn ich hineingeklickt habe, weshalb gerade der Dialog kam, dann werde ich herauskriegen, dass es "Falsch" ist. Die Vergleiche sind also typischerweise ein "Goesser" oder, damit wir das Gegenstück haben, ich mache mit der Steuerungstaste eine Kopie, aber hier natürlich dann ein "Kleiner". Gleichnamige Prozeduren innerhalb eines Moduls sind nicht erlaubt, Dann hier das Kleinerzeichen, welches anders herum ist. "1 <" dieser Konstanten, ist erkennbar richtig, also wahr. Dieses "Wahr" wird hier zwar als Text ausgedruckt, aber in Wirklichkeit ist es die logische Konstante "true", beziehungsweise der Wert minus eins. Sie können damit also auch selber vergleichen. Dann gibt es noch die erweiterte Form sozusagen. Ich mache mal wieder eine Kopie davon mit der Steuerungstaste. Nehmen wir ruhig das "KleinerOderGleich" und das schreibt sich als "<=" in genau dieser Reihenfolge, es sieht also ein bisschen wie ein Pfeil aus. Das bedeutet, auch "2" ist kleiner oder gleich diese Konstante, also einmal speichern, das immer ausführen, deshalb wird es hier mit "Wahr" ausgegeben. Sie müssen aufpassen, da das Gegenstück zu "" nämlich ein "<=" ist, da Sie sonst drei Fälle haben: ein Kleiner, ein Groesser und ein Gleich. Auch das Gleich ist selber natürlich auch ein wichtiger Fall. Das ist bei VBA etwas lästig, ich schreibe das mal eben hier dazwischen, denn das Lästige besteht darin, dass das Gleichheitszeichen sowohl eine Zuweisung, als auch einen Vergleich meinen kann. Es gibt Programmiersprachen, da steht dann ein "==" was gewöhnungsbedürftig, aber wenigstens eindeutig ist. Hier ist es nicht so, dass irgendwem dieser Wert zugewiesen wird, sondern das ist der Vergleich und das Ergebnis ist dann erwartungsgemäß "true" oder wahr. Das "GrosserOderGleich" können Sie sich sicherlich vorstellen, ich schreibe es wieder hinein. Es ist diese Schreibweise "=", muss also vorher kommen. Zu dem Gleich gibt es das Gegenstück, nämlich das Ungleich. Also hier ein Ungleich, was auch wieder aus zwei Zeichen besteht, nämlich "<". Das sieht so ein bisschen wie eine Raute aus und wenn Sie jetzt prüfen, ob "2" ungleich dieser Konstanten ist, dann ist das natürlich falsch, also es ist nicht ungleich. Wenn Sie überlegen, welches das Größer- und Kleinerzeichen ist, da gibt es eine kleine Hilfe, die ich einmal darüberschreibe. Ich muss nur ein Kommentarzeichen davor machen. Das eine ist größer und kleiner kann man daran erkennen, dass dieser Winkel oder dieses Dreieck die große Seite auf der Seite hat, wo der große Wert steht, und die kleine Seite, hier die Spitze, dort, wo der kleinere Wert stehen sollte, dann ist es wahr. Alternativ können Sie sich auch das Wort "kleiner" anschauen, da ist dieser Winkel drin, also in dem Dreieck vom "k" steckt auch dieses "<" darin, das ist das Kleinerzeichen. Das nur als Hilfe nebenbei. Ich habe in Kursen gesehen, dass viele Leute Schwierigkeiten haben, das auseinanderzuhalten. Hier ist es relativ klar, die müssen sich sozusagen so begegnen, dass es eine Raute wird. Sie kennen das sicherlich als die berühmte "Merkel-Raute", so wie sie die Hände hält – das ist genau dieses Ungleichzeichen. Das Ganze gibt es sozusagen auch als andere Umkehrung, also das ist zu dem Gleich ja das Gegenstück. Jetzt können Sie aber auch ein anderes Ungleich formulieren, also hier, ich nenne das einmal ein "Nicht". Das bedeutet, Sie machen einen ganz normalen Vergleich, den setze ich jetzt in Klammern, damit es keine Unklarheiten gibt und was immer vor der Klammer im Vergleich steht, ist der Operator "Not". Der steht vor dem eigentlichen Ergebnis. Zuerst wird dieses ausgerechnet, verglichen, das wird "true" und mit "Not" wird es umgepolt, umgesetzt, verändert in sein Gegenteil. Das heißt, wenn ich das jetzt ausführe, ist das falsch, weil nicht zwei gleich zwei ist. Das ist vor allem sinnvoll, wenn es kein üblicher Vergleich ist, sondern, das werden Sie irgendwann sehen, zum Beispiel eine "Visible-Eigenschaft", die mit "not visible" abgefragt wird. Also gibt es sozusagen zwei "Nicht", einmal das "<" und einmal den Operator, den man voranstellt, je nachdem, was praktischer ist. Dann gibt es natürlich auch die Textvergleiche, das waren bisher ja nur Zahlenvergleiche und da erfinde ich jetzt auch schnell wieder eine Konstante, also "const m_cstrMueller="Müller"" und da kann ich jetzt vergleichen "VergleicheText" und werde dort mit "debug.Print" abfragen, ob vielleicht "Müller" identisch mit meiner modulöffentlichen Konstante ist, was auch immer darin stehen mag. Und in diesem Fall – es soll ja "Müller" darinstehen – werden wir das jetzt herauskriegen und das ist wahr. Sie müssen unbedingt aufpassen, das ist case sensitive, wie sich das nennt, das heißt, wenn ich "müller" klein schreibe, dann kommt es zum Ergebnis, das ist falsch. Deshalb müssen Sie wirklich darauf achten, dass Groß und Klein gleich geschrieben wird oder – ich mache schon einmal einen Vorgriff auf eine Funktion: "LCase", Lower Case, die diese Schreibweise in Kleinbuchstaben umwandelt und dann erst vergleicht. Das heißt, wenn Sie Texte vergleichen, sollten Sie das Unbekannte, also diese Konstante mit "LCase", das ich immer nehme, und dem Gegenstück "UCase", Upper Case, vergleichen. Jetzt kommt es wieder zur Erkenntnis, das ist wahr. Also schreibe ich das einmal dahinter, "Achtung, case-sensitive", so nennt sich das also, "Groß-Kleinschreibung beachten". Das ist eine der beliebtesten Fallen. Es gibt noch einen zweiten sehr praktischen Vergleich, aber offenbar weitestgehend unbekannt: "sub VergleicheAehnlicheTexte". Sie wissen ja oft nicht ganz genau, was in den Texten steht. Zum Beispiel wollen Sie eine Datei oder einen Namen prüfen. Wir nehmen die Datei als Beispiel, wo die Konstante wieder eine "m_c", modulöffentliche Konstante mit String-Datentyp und eine beliebige Datei ist. Sie haben aus irgendeinem Grund "JPEG" als Dateinamen gefunden, wissen aber nicht genau, welches. Sie wollen nur wissen, ob der Dateiname für eine JPEG-Datei ist, dann können Sie über "Print" die Ähnlichkeit prüfen. Nämlich vergleichen Sie, ob jetzt dieser Dateiname "like" irgendetwas ist, und zwar mit einem Suchmuster, also in Anführungszeichen "*.jpeg". Und wenn das ein JPEG ist, wird das wahr, also richtig sein und deshalb steht hier "wahr", Wenn ich prüfen will, ob das beispielsweise eine XLSX-Datei ist, dann wird, wenn ich denn den Cursor wieder hierin habe, dabei herauskommen, dass das falsch ist. Damit lassen sich beispielsweise Dateinamen und vor allem deren Änderungen extrem einfach ermitteln. Natürlich kann das Sternchen auch hinten stehen, also, wenn ich jetzt prüfe, ob das irgendeine Datei ist, die "Beispiel" heißt, das ist das, was ich oben geschrieben habe, dann können Sie das genauso prüfen und das ist wahr. Also gerade dieser Like-Vergleich, den Ähnlichkeitsvergleich, der ein Sternchen oder wahlweise ein Fragezeichen für einzelne Buchstaben, die es exakt geben muss, hat, ist sehr bequem, um Texte zu vergleichen.

Excel 2016 VBA Grundkurs

Lassen Sie sich systematisch in die Excel-Programmierung mit Visual Basic for Applications (VBA) einführen.

7 Std. 25 min (66 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:30.08.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!