Excel 2016 VBA Grundkurs

Geschachteltes If

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Wenn eine einzige If-Bedingung nicht ausreicht, können Sie auch mehrere If-Konstruktionen ineinander verschachteln. Dabei sollten Sie auf korrektes Einrücken achten, damit der Code leichter lesbar wird.

Transkript

Ein "If" ist nicht immer mit einer einzigen Entscheidung zufrieden. Das kann auch sein, dass Sie nicht einfach nur fragen, wie hier: Sind Sie dafür? Und damit ist es erledigt, sondern, Sie wollen beispielsweise nochmal nachfragen. Deswegen werde ich mir diese Prozedur hier nochmal herausgreifen und ein bisschen davor verändern. Ich nenne das mal einfach im Plural "MeineEntscheidungenMittel" Wenn Sie nämlich sagen, Sie sind dafür, dann möchte ich nochmal nachfragen und das bedeutet, hier dieser mittlere Teil, - ich nehme das mal vorübergehend raus - dieser Teil zwischen "If" und "Else" soll nochmal ein weiteres "If" zeigen. Das heißt, erstens verschachtelt, und zweitens auch eingerückt, mit der Tabulatortaste jeweils. Das heißt, hier kommt ein zweites "If MessageBox", Und dann fragen wir mal einfach: "Sind Sie sicher?" Und damit Sie auch mal eine andere Variante sehen, sage ich nicht erst "No", sondern zum Beispiel OK/Cancel, aber natürlich "vbOKCancel". Komma, da ist wieder meine Konstante für den Titel. Und ganz wichtig: Hier klappt, wenn man das rechtzeitig hier so in der gleichen Zeile schreibt, und nicht erst später zusammenkopiert, dann klappt hier schon eine Liste mit sinnvollen Antworten aus. Daran kann ich sehen, dass es dieses "vbYes" oder "vbNo" gibt. Aber, beliebter Fehler ist, wenn Sie hier nach "vbYesNo" fragen, dürfen Sie auch nur mit "vbYes" und "vbNo" vergleichen. Wenn Sie wiederum hier nach "vbOKCancel" fragen, kann es nur die Antworten "vbOK" oder "vbCancel" geben. Also hier, "vbOK". Das ist sehr beliebt. Die müssen immer zusammenpassen. Und nur dann gilt irgendwas, beziehungsweise das Gegenteil dazu. "Else" und "End If" schreibe ich immer schon direkt. Und Sie sehen es vielleicht auch hier: So wie ich "Sub" und "End Sub" links auf einer Höhe stehen habe, habe ich auch "if", "Else" und "End If" auf einer Höhe stehen. Und wenn das eingerückt ist, sind auch die auf einer Höhe. Da kann man per Augenschein schon direkt überprüfen, "Sub", "End Sub", "If", "End If", "If", "Else", "End If". Dan kann auch das "Else" fehlen, das ist jetzt egal. Und dann wiederum, eingerückt, ein "debug.Print" und da kommt das "Ja". Und hier kommt ein, so ein Unentschieden, "Na ja, dann eben nicht" Also, es gibt drei Fälle, die auftreten können. Sie sind sicher dafür. Oder wenn Sie nach der Nachfrage sich noch entscheiden sollen, gibt es da zwei weitere Möglichkeiten. Wenn Sie "If", "Else", "End If", oder nur "If" und "End If" schachteln, Achten Sie bitte darauf, dass Sie immer einrücken. Ansonsten ist die Fehlerwahrscheinlichkeit sehr hoch. Für den Compiler ist es völlig egal. Da können Sie das auch so entsetzlich schreiben, dass Sie hier beispielsweise alles, wie ich das gelegentlich sehe, so in einer Höhe schreiben. Aber jetzt versuchen Sie mal hier Fehler zu finden, oder zu erkennen, dass das geschachtelt ist. Also da werde ich doch schnell wieder alles rückgängig machen. Hier kann man auf Anhieb sehen, "If", "Else", "End If" ist komplett, "If", "Else", "End If" ist auch komplett und der Rest ist dazwischen eingerückt. Und natürlich solle es funktionieren. Also es gibt jetzt drei Entscheidungen. mit F5, Ja, ich bin dafür, und dann werde ich gefragt, ob ich sicher bin, OK, Also ja OK, das führt zum "Ja". Ja, ich bin dafür, aber jetzt mit Abbrechen. Dann eben nicht. Und F5: Ich bin dafür, Nein, das ist die Dritte Variante. Also, weil ein "If" nur zwei Varianten kennt, Ja und Nein sozusagen, True und False, können Sie es bei Bedarf schachteln. Sie können auch hier nochmal ein zweites "If" reinschachteln, und wenn Sie es drauf anlegen, hier auch jeweils noch ein weiteres "If". Irgendwann wird es einfach unübersichtlich, dann sollten Sie dringend auf "Select Case" ausweichen, oder sich andere Konstruktionen ausdenken. Aber wie Sie hier sehen, solange Sie, ich sage mal zwei oder drei vielleicht maximal vier Ebenen verschachteln kann man noch einigermaßen den Überblick behalten, vor allem, wenn Sie es auch vernünftig einrücken.

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!