VBA lernen - Excel 2007/2010 (1)

Prozeduren behutsam bearbeiten

∅ 4.4 / 13 Bewertungen

Prozeduren behutsam bearbeiten

Prozeduren lassen sich auch vom noch unerfahrenen Nutzer behutsam bearbeiten. Sie können Methoden in Ihrer Wirksamkeit erweitern, auf andere Objekte anwenden oder gar Prozeduren miteinander verknüpfen und kombinieren.

Aufgabe:

Öffnen Sie Ihre Datei Mitarbeiter.xlsm und wechseln Sie in den VBA-Editor mit <Alt>+<F11>.

Achten Sie darauf, dass der Projekt-Explorer sichtbar ist. Das gelingt Ihnen über "Ansicht" - "Projekt-Explorer" oder <Strg>-<R>.

Fenster des Projekt-Explorers

Hier sehen Sie alle geöffneten Arbeitsmappen mit ihren Tabellen, Modulen usw.

Achten Sie darauf, dass das richtige Modul durch Doppelklick ausgewählt ist. Im aktuellen Beispiel soll es Modul1 vom Projekt Mitarbeiter.xlsm sein.

59270_bild23.jpg

Sie können auf der Moduloberfläche selbst Prozeduren verändern und/oder neu notieren. Sie sparen Schreibaufwand, indem Sie bereits bestehende Passagen markieren und kopieren.

Aufgabe:

In der Datei Mitarbeiter.xlsm gibt es bereits die Ansichten "fix", "Lohn", "Notfall", "original", "Personal" und "Telefonliste".

Sehen Sie sich die Prozedur "Telefonliste" an.

Notieren Sie fünf weitere Prozeduren zum Aufruf der Ansichten fix, Lohn; Notfall, original und Personal und geben Sie der Prozedur zum Aufruf der Ansicht fix den Namen fixA und den anderen Prozeduren die Ansichtennamen, die sie zur Anzeige bringen.

Rufen Sie zur Probe über die Tabellenansicht Ihre neuen Prozeduren auf.

So könnten Ihre Lösungen aussehen.

Aufruf der verschiedenen Ansichten

59271_bild22.jpg

Nach dem Aufruf einer Prozedur könnte ein Fehler angezeigt werden.

59272_bild24.jpg

Fehleranzeige

Um die Ursache für den Fehler zu erkennen, klicken Sie auf Debuggen.

59273_bild25.jpg

Markierte fehlerhafte Anweisung

Wenn Sie die Fehler erkannt und korrigiert haben, wählen Sie "Ausführen" - "Zurücksetzen" und starten Ihre Prozedur erneut.

Aufgabe:

Rufen Sie die einzelnen Prozeduren für die Anzeige der verschiedenen Ansichten auf.

Wenn Sie Methoden usw. nicht aufzeichnen können, so haben Sie die Möglichkeit, sich darüber im Objektkatalog zu informieren. Z. B. ist ActiveSheet das momentan aktive Blatt (also auch ein Objekt). Ein Sheet oder Worksheet besitzt ebenfalls diverse Methoden und Eigenschaften. Um sich darüber zu informieren, können Sie auch im Objektkatalog blättern. Das ist zwar eine zeitaufwendige Methode, macht Sie aber umfassend mit der Handhabung aller Objekte bekannt - vor allem über Methoden und Eigenschaften, die man nicht einfach aufzeichnen kann.

Aufgabe:

Wechseln Sie in den VBA-Editor mit <Alt>+<F11>.

Aufruf des Objektkatalogs

Wählen Sie aus dem Katalog für Excel in die Klasse Worksheet (liefert das gesuchte Objekt) in die Methode ShowDataForm wie im folgenden Bild gezeigt.

Information über Methoden und Eigenschaften eines Objekts

Sie könnten auch auf das gelbe Fragezeichen klicken oder <F1>drücken, um einen Hilfetext angezeigt zu bekommen.

59275_bild20.jpg

Das letzte Vorgehen ist, zugegeben, recht gewöhnungsbedürftig. Es verhilft Ihnen aber zu umfangreichen Informationen.

ActiveSheet.ShowDataForm ruft eine Dialogbox auf zum Erfassen von Datensätzen.

59276_bild21.jpg

Dialog der DialogShow-Methode

Mit Call prozedurname lässt sich in einer Prozedur eine andere aufrufen.

Aufgabe:

Notieren Sie die Prozedur. Da Leerzeichen in einem Prozedurnamen nicht erlaubt sind, achten Sie auf den korrekt notierten Prozedurnamen.

Sub erfassen_und_sortieren()

ActiveSheet.ShowDataForm

call Sortieren

End Sub

Rufen Sie die Prozedur erfassen_und_sortieren auf. Beenden Sie die Anzeige des Dialoges sogleich mit "Schließen" und erfassen Sie zunächst keinen neuen Datensatz.

Die Anweisungen können Sie auch behutsam korrigieren bzw. erweitern. Der Sortierbereich der Sortiermethode umfasst unmittelbar nach der Aufzeichnung nur die Datensätze bis zur Zeile 34. Damit aber auch die neu erfassten Datensätze nachträglich beim Sortieren berücksichtigt werden, kann man den Datenbereich erweitern.

Aufgabe:

Sehen Sie sich die alle Parameter der Sort-Methode in Ihrer Arbeitsmappe Mitarbeiter.xlsm genau an!

Erweitern Sie den Datenbereich z.B. bis zur Zeile 200.

Starten Sie erfassen_und_sortieren und speichern Sie Ihr Ergebnis (Vgl. LösungMitarbeiter05.xlsm).

So könnte Ihre korrigierte Lösung aussehen:

59277_bild26.jpg

Lösung der letzten Aufgabe