Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Excel 2016 VBA Grundkurs

Logische Operatoren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mehrere Prüfungen lassen sich mit logischen Operatoren verknüpfen, so dass Sie umfangreiche Programmteile in einer einzigen Zeile zusammenfassen können. Gleichzeitig ermöglichen diese logischen Operatoren, mit der so genannten Binärcodierung bestimmte Teile einer Zahl zu analysieren.

Transkript

Außer den Vergleichs- und den Rechenoperatoren gibt es auch noch logische Operatoren. Im Wesentlichen gibt es nur zwei: OR und AND. Es gibt zwar noch ein paar mehr, die werden Sie aber nicht brauchen. Das OR beispielsweise, das Oder, ist das inklusive Oder deswegen das einfache Or. Es gäbe noch ein exklusives Oder, XOR, das habe ich in den letzten 30 Jahren nicht ein einziges Mal vermisst. Es gibt noch ein EQUIVALENT. Brauchen Sie auch nie. Also Sie haben eigentlich nur mit zwei Operatoren zu tun, Oder - OR, beziehungsweise Und. Wurde da geschrieben als AND. Fangen wir mit dem Oder an. Also ein "Sub VergleichOder". Ich habe schon ein neues Modul aufgemacht, für die Logik, und da drin kann ich direkt mit einem "debug.Print" arbeiten, damit wir das Ergebnis sehen. Die eigentlichen Vergleiche sind jetzt von höchster Banalität. Also ich schreibe jetzt einfach: Ist eins größer als zwei, "Or", oder, ist zehn größer als fünf. Das sollte man so nicht wirklich schreiben. Besser ist es, - ich werde das hier mal kopieren - direkt durch Klammern den Vorrang klar zu machen, was in diesem Fall auf das Gleiche hinausläuft, aber ich werde Ihnen nachher ein Beispiel zeigen wo es einen Unterschied macht. Das heißt diese beiden werden zum gleichen Ergebnis kommen. Aber sicherstellen kann ich dadurch, das zuerst der Inhalt der Klammern berechnet wird, - beider Klammern - und danach mit einem logischen Oder verknüpft wird. Und das könnten Sie auch anders schreiben, wenn Sie das einzeln analysieren: Eins ist größer als zwei - Nein, also "False", "Or", zehn größer als fünf - Ja, also "True". Und, das kann ich jetzt schon behaupten, "False Or True" bedeutet, wenn einer der beteiligten für dieses "Or", das inklusive Oder, wenn irgendeiner der Beteiligten "True" ist, dann reicht das für insgesamt "True". Was natürlich nachher im Ergebnis einfach nur das deutsche "Wahr" anzeigen wird. Wir werden jetzt also viermal das gleiche Ergebnis bekommen, wenn ich jetzt die F5-Taste drücke. Das macht alles das Gleiche. Das erläutert nur so ein klein bisschen, was jetzt hier jeweils passiert. Also, noch ist das mit und ohne Klammern identisch. Der Vergleich mit dem Und - ich werde das der Bequemlichkeit halber mal kopieren - wird ähnlich ausfallen. Da muss hier natürlich auch "Und" stehen. Und hier statt "Or" das englische "And". Und beim "And" ist es so, das alle Beteiligten das Ergebnis "True" liefern müssen. Also "False And True" liefert definitiv ein "False" zurück. Während also oben alle wahr waren, wird hier einfach im letzten Schritt wenn also ein "False und ein "True verglichen wird, ein "Falsch" herauskommen. Deswegen werden jetzt alle, - sicherheitshalber speichern, einmal ausführen lassen - alle auf "Falsch" stehen. Das ist sozusagen der normale Umgang mit "Or" beziehungsweise "And". Es gibt noch so einen halben logischen Operator, den werde ich hier mal da drunter mogeln. Den kennen Sie schon. Das ist nämlich der NOT-Operator. Der ist im Grunde auch ein logischer Operator, der wandelt nämlich das Ergebnis um. Wenn ich also beispielhaft diesen hier nehme, dann könnte ich sagen: Aber was immer da rauskommt, ich hätte gerne das Gegenteil. Und das bedeutet vor allem, Sie müssen hier Klammern setzen, damit erst all das hier ausgerechnet wird. Das kommt ja zum Ergebnis "False" und dann wird davon das Gegenteil benutzt. Ein logisches Umschalten sozusagen, Wenn ich das jetzt mit F5 starte, dann sehen Sie, es wird hier "Wahr". Also, Sie müssten eigentlich den NOT-Operator, auch zu den logischen zählen, weil er aus einem "And" ein "Or" macht beziehungsweise umgekehrt. Aber es gibt weiterhin das Problem mit den Klammern. Hier habe ich dafür gesorgt, dass die Klammern deutlich machen, was zuerst berechnet wird. Da vor allem auch. Das hat teilweise nur optische Gründe, aber spätestens, wenn Sie "And" und "Or" mischen, - also "Sub", nennen wir das mal "Schwierig" - Also eine etwas komplexere Berechnung Also eine etwas komplexere Berechnung oder ein komplexerer logischer Vergleich. Der ist jetzt inhaltlich ziemlich banal, weil er eben mehr theoretisch ist. In Wirklichkeit passiert es häufiger, dass ich mehrere miteinander verkette Also, eins gleich zwei, "Or" zwei kleiner eins, "And", sagen wir, drei kleiner vier, "Or" vier gleich vier. Das ist im wirklichen Leben natürlich dann irgendeine Variable, irgendein Wert eines Formulars, eines editierbaren Feldes, einer Zelle oder sonst was. Hier ist es möglichst kurz. Und davon mache ich direkt zwei Kopien. Und werde die unterschiedlich klammern. Diese hier werde ich so klammern, dass der mittlere Bereich Vorrang hat. Und diese werde ich so klammern, dass die äußeren Bereiche Vorrang haben. Es sind insgesamt vier Vergleiche da drin. Und hier in dieser Version ist es unklar, genau genommen ist es Ihnen vielleicht unklar, dem Compiler ist es völlig klar, was passiert. Dann gibt es einmal die Version, dass die mittleren beiden geklammert sind und damit vorrangig werden. Und dann gibt es die Version, dass jeweils die äußeren beiden vorrangig sind. Wenn ich das jetzt mit F5 starte, sehen Sie auf Anhieb, was der Compiler draus macht, denn das "And" hat ja logischen Vorrang, Deswegen wählt er diese Variante und sagt, ich muss zuerst die Vergleiche um das "And" ermitteln. Deren Ergebnis nehme ich und vergleiche es. Und wenn wir das jetzt mal ein bisschen genauer auseinanderpflücken, hier mit dem "debug.Print": Eins gleich zwei ist "False", "or" - dann kommt der Vergleich - zwei kleiner eins ist auch "False", "And" drei kleiner vier ist "True". Also können wir jetzt hinschreiben, "False And True", oder "True", "Or True". Ich schiebe das mal ein bisschen auseinander, dann ist das besser zu sehen. Und das kann ich wieder zerlegen in "debug.Print". In der Klammer "False And True", das kann nur "False" sein. Bei einem "And" müssen alle Beteiligten "True" sein, damit das Ergebnis "True" ist. Es gibt also drei Fälle, wo das "False" ist. "True True" ist es "True", "False And True" ist es "False", "True And False" ist es auch "False", und "False And False" ist es auch "False". Also, drei Viertel der Möglichkeiten wären "False". Hier haben wir eine davon. Also deswegen steht da "False Or False Or False Or True". Und das "False", da reicht es, wenn irgendeiner der Beteiligten "True" ist, im Gegensatz zum "And", da muss jeder der Beteiligten "True" sein. Deswegen wird hier das Ergebnis "True" rauskommen. Irgendeiner ist beim "Or True", - der hier nämlich - und dann ist das Gesamtergebnis auch "True". Ich mache hier mal ein leeres "debug.Print" dazwischen, sozusagen ein paar Striche, damit wir die gleich auseinanderhalten können. Das war die erste Variante. Und warum ist die zweite so viel anders? Ganz einfach. Die erste Klammer sagt, eins gleich zwei ist "False", "Or", zwei kleiner eins ist auch "False". Und das wird verglichen mit drei kleiner vier, das ist "True", "Or", vier gleich vier ist auch "True". Das müssen wir jetzt wieder auflösen. Hier steht "False Or False", - auch das ist ein logischer Vergleich, auch wenn er sich jetzt komisch liest - und das ist "False". Alle Beteiligten sind "False", also ist auch das Ergebnis "False". "And, True Or True", - hier muss ich natürlich korrekt "True" schreiben - auch das ist im Ergebnis "True". Und das wird zusammengeführt. "False And True" - das hatte ich hier oben schonmal erwähnt - kann im Ergebnis nur "False" sein. Jetzt gucken wir mal, wenn das mit F5 gestartet wird. Hier sind die ganzen "Wahr"-Werte. Das ist jetzt noch nicht ganz vollständig zu sehen. Also, diese Einzelschritte kommen immer zum Ergebnis "Wahr", und hier kommen die ganzen Einzelschritte immer zum Ergebnis "Falsch", weil die Klammern eben unterschiedlich sitzen. Hier ist das, was der Compiler normalerweise macht. Das "And" hat Vorrang. Und hier habe ich ihn durch die Klammern gezwungen, erst die "Or"-Vergleiche zu machen, und dann das "And". Ich gebe zu, an dieser Stelle habe ich einen sehr komplizierten Vergleich gemacht, bei dem es auch schief geht. Aber da Sie vorher nicht sehen können, ob es schiefgehen wird, sollten Sie immer Klammern setzen, selbst in so banalen Varianten wie hier. Das ist vor allem lesefreundlicher und falls es schiefgehen würde, ist es auch sicherer.

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!