Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Excel 2016 VBA Grundkurs

Inhaltsverzeichnis anlegen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
In der Datei wird gezielt als erstes Blatt eine neue Tabelle mit der Bezeichnung "Inhaltsverzeichnis" angelegt, in welche später die Daten eingetragen werden.

Transkript

Der erste Schritt ist geschafft. Das Inhaltsverzeichnis, falls es eins gab, ist gelöscht. Jetzt kommt der Zweite: Ich will eins anlegen. Und zwar erstmal nur das Arbeitsblatt, nur die Tabelle. Also "Sub InhaltsverzeichnisAnlegen". Und dort werde ich mich mehrfach auf die ActiveWorkbook- Worksheets-Auflistung beziehen Das wird in einer Zeile sehr lang, deswegen mache ich direkt eine With-Struktur. Also "With ActiveWorkbook.Worksheets" und hier "End With". Und was ich möchte, ist zuerst mit ".Add" ein neues hinzufügen. Und dann kommt das Argument Before oder After. Und ich werde jetzt hier "Before", nämlich vor dem ersten Blatt nutzen. Das erste Blatt ist ja keine Zahl, sondern wirklich das Blatt. Es muss also von allen ActiveWorkbook-Worksheets das mit der Nummer eins sein. Deswegen brauche ich jetzt hier die Item-Eigenschaft und davon dann die "1". Ich darf hier keine Klammern drum machen. Sie haben das schon mal gesehen in dieser Version. Das bedeutet nämlich, dass die Methode einen Rückgabewert hat. Das wird immer wieder gerne falsch gemacht. Sub und Methoden ohne Rückgabewert, immer nur mit Leerzeichen dahinter. Function und Methoden mit Rückgabewert mit Klammern. Wenn Sie das missachten sozusagen, dann warnt mich jetzt schon durch merkwürdiges Aussehen der Editor: Hier stimmt irgendwas nicht. Und wenn ich das laufen lassen würde gäbe es einen Laufzeitfehler. Also, die Klammern nicht mutwillig setzen, die haben einen Sinn, und eine Methode ohne Rückgabewert, hier gibt es nämlich im Moment 'nichts zum zurückgeben, die kann keine Klammern haben. Wenn ich das jetzt ausführe mit F5, dann sehen Sie eine neue Tabelle auftauchen. Da ist sie, Tabelle 13. Aber das hilft noch nicht besonders weit, denn die soll ja natürlich umbenannt werden. Ich lasse die da im Moment rumstehen, rumliegen. Die können wir gleich löschen. Was ich möchte ist, dieses Objekt, was da entstanden ist, sofort umzubenennen. Jetzt brauche ich einen Rückgabewert. Und anstatt das jetzt einer Variable zuzuweisen, mit zum Beispiel "Set wksInhalt =Add", Runde Klammer auf und so weiter, geht das auch mit einer With-Struktur. Das verhält sich jetzt, als ob da vorher "Set" irgendwas "=" stünde. Und deswegen müssen auch die Klammern hier wieder rein. Also, With-Strukturen lassen sich auch schachteln. Verhalten sich wie eine passende Objektvariable. Und ich kann jetzt diesem Objekt etwas in diesem "With", - da ja angesprochen wird und erzeugt worden ist - direkt mit "Caption", wenn ich es denn richtig geschrieben hätte und ich kann diesem Objekt direkt jetzt mit "Name" einen Wert zuweisen. Und zwar genau das, was ich mir da oben gemerkt hatte. also "m_c" und so weiter. "strIV". Das die Name-Eigenschaft hier nicht angeboten wurde ist klar, denn die "With"-Struktur kann jetzt nicht ahnen, was da für ein Objekt entsteht. Aber wenn es klappt, dann kann ich jetzt F5 drücken, und entdecke da oben ein neues Blatt, namens Inhaltsverzeichnis. Die Reihenfolge muss Sie hier nicht irritieren, hier sind sie alphabetisch nach den Codenames sortiert. Mit ALT + F11 muss ich jetzt prüfen, dass es wirklich vorne steht. Der sollte wieder weg, ja, mit Bestätigung. Und hier könnte ich jetzt das Löschen und das Neuanlegen hintereinander schreiben. Das können wir schon mal vorbereiten. Anständigerweise gäbe es jetzt hier eine gemeinsame Prozedur, "Sub InhaltsverzeichnisFertigstellen". Die ruft verschiedene andere Prozeduren auf, und die, ich sage mal diese hier, verstecke ich mal ganz, durch Kommentar. Da können wir so tun, als sei die gar nicht geschrieben. Diese verstecke ich sozusagen halb, mit "Private" und die hier entsprechend. Das heißt, die sind außerhalb des Moduls gar nicht zu sehen. Innerhalb schon. Ich kann jetzt hier also weiterhin erstmal auf "InhaltsverzeichnisLoeschen Egal" referenzieren. Das ist der Aufruf einer Prozedur. Und anschließend "InhaltsverzeichnisAnlegen" aufrufen. Die sind also innerhalb des Moduls zu sehen, aber von außen nicht. Da wird als Drittes dann noch kommen, das kann ich gleich schon mal als Entwurf hin schreiben, "InhaltFuellen". Das ist das, was noch fehlt, die eigentliche Arbeit. Aber die Vorbereitung, aufräumen, neues anlegen, sind jetzt sozusagen ein bisschen ausgelagert, so dass man die eigentlichen Prozeduren hier nur noch mit ihren Namen hat, und wenn Fehler auftauchen, sich nur noch mit einem kleinen Stückchen beschäftigen muss.

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
Ihr(e) Trainer:
Erscheinungsdatum:30.08.2016
Laufzeit:7 Std. 25 min (66 Videos)

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!