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

For-Each/Next-Schleife

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Bei der For-Each/Next-Schleife ist die Zählervariable nicht nötig, stattdessen werden automatisch alle Objekte einer Auflistung bearbeitet. Das ist in vielen Fällen deutlich praktischer und bequemer zu programmieren.

Transkript

Wenn Sie mit vielen Objekten arbeiten, das hier ist sozusagen der Normalfall, dann interessiert Sie eigentlich eher nicht, in welcher Reihenfolge die sind, sondern Sie wollen das Objekt selbst verändern, bearbeiten, in der Hand haben sozusagen. Die normale For/Next-Schleife, hier mit For/Next, braucht einen Zähler, und dann müssen Sie hier mit so einer Konstruktion das soundsovielte Objekt aus dieser Auflistung herausholen. Das geht besser. Das Zauberwort ist nicht For/Next, sondern ForEach/Next. Liest sich erstmal sehr ähnlich, macht aber einen entscheidenden Unterschied. Ich werde mal ein bisschen Platz schaffen, sodass ich jetzt hier "Sub AlleTabellenBesser" erzeugen kann. Und ich brauche jetzt keine Zählervariable, sondern eine Objektvariable, damit ich das Objekt irgendwo zwischenspeichern, sozusagen in die Hand nehmen kann. Und ich werde ein einzelnes Tabellenblatt in die Hand nehmen, in einer Variablen. Und deswegen brauche ich den passenden Datentyp zu den Tabellenblättern. So wie hier der Plural Worksheets heißt, die Auflistung der Tabellenblätter, ist ein einzelner Datentyp ein Worksheet. Deswegen erfinde ich jetzt wks als Präfix für Worksheets. Und das heißt dann immer ganz lieblos Dieses, Dieser oder irgendwie so etwas für dieses Worksheet As Worksheet. Aber nicht book, das ist die gesamte Datei, sondern Worksheet. Und Achtung, der Singular - das ist ein einzelnes. Jetzt darf ich schreiben: For Each wksDieses In. Und jetzt kommt die Auflistung, also wieder "ActiveWorkbook.Worksheets". Mehr nicht. Für jedes Blatt in dieser Auflistung. Für jedes einzelne Worksheet in der Auflistung der Worksheets. Hier steht immer der Datentyp mit dem Singular. Und hier steht immer die Auflistung im Plural. Es endet genauso auf Next, und dazwischen ist es bedeutend kürzer. Ich kann erstmal Debug.Print schreiben, und dann kann ich direkt sagen: wksDieses - sag mir doch bitte mal, wie du heißt. Es hat eine Name-Eigenschaft. Ich kann direkt auf das Objekt zugreifen. Das ist, als ob ich die passende Tabelle gerade mit einer Set-Anweisung zugewiesen hätte. Sie sehen, es ist zwar nicht völlig identisch, aber dieser Teil hier ist jetzt bedeutend kürzer. Ich muss stattdessen nur noch Dieses schreiben. Auch hier, mit dem Zähler, ist es im Grunde kürzer. Ich nehme direkt die Objekte in übrigens eher zufälliger Reihenfolge, aber die interessiert mich auch nicht. Das macht erstmal, wenn ich das gespeichert habe, ein ähnliches Ergebnis. Mit F5 sehen Sie da also hier die Aufzählung. Aber wenn Sie doch genau mit Nummern arbeiten wollen, dann müssten Sie es jetzt noch ergänzen. Ich sage ganz ehrlich: Im wirklichen Leben braucht man die Nummern nicht. Aber, wenn Sie jetzt wirklich dafür sorgen wollten, dass die in irgendeiner Liste nummeriert auftauchen, dann müsste ich jetzt tatsächlich hier eine zweite Variable erfinden, die hier zusätzlich - dann sehen Sie auch mal in so einer For/Next oder ForEach/Next-Schleife mehrere Zeilen - die wird hier also zusätzlich hochgezählt. Das wird so geschrieben und von rechts nach links gelesen: Bisheriger Wert plus 1 ist neuer Wert. Dann kann ich jetzt hier entsprechend schreiben: "Tabelle Nr." verkettet mit "intZaehler" wiederum verkettet mit einem Stückchen Text mit dem Doppelpunkt. Und dann den Namen dran. Jetzt macht es wirklich genau das Gleiche. Also mit "Debuggen Kompilieren" einmal prüfen, einmal speichern, einmal F5. Und jetzt sieht es auch genau so aus. Aber das ist sozusagen nur noch ein i-Tüpfelchen oben drauf. Im wirklichen Leben braucht man die eigentlich nicht durchnummeriert, sondern kann hier auf die kurze Fassung zugreifen und spart sich da die lange Version.

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!