VBA: Begrüße Dich doch morgens selbst (Teil 2)

Ein Makro schreiben

In Teil 1 hast Du gesehen, wie Du mit einer Makroaufzeichnung eine morgendliche Begrüßung auf Dein Excel-Arbeitsblatt bekommst. Heute geht es darum, wie Du das Makro gleich selbst schreibst, ohne es aufzuzeichnen und umzubauen.

Zunächst soll der Eintrag in A1 durch ein Makro gelöscht werden. Dazu gehst Du mit Alt + F11 zum VBA-Editor, lässt zum Sub Begrüßung eine Leerzeile und schreibst:

Sub Löschen()

Range(„A1“).ClearContents

End Sub

ClearContents ist eine VBA-Methode zur Beeinflussung von Bereichen und bedeutet: Zellinhalte entfernen. Beim Schreiben von Range(„A1“) wird Dir aufgefallen sein, dass nach dem Setzen des Punktes sich eine Liste aufblättert, aus der Du alle möglichern Methoden auswählen kannst. Das ist das sogenannte Intellisense, eine sehr praktische Einrichtung. Es funktioniert aber nur, wenn Du den Code wirklich schreibst und nicht hineinkopierst. Wähle also die gesuchte Methode aus und übernehme sie mit Doppelclick in Deinen Code.

Verlasse jetzt den Editor wieder mit Alt + Q und setze eine Schaltfläche. Weise dieser das Makro Löschen zu und ändere den Text auf „Löschen“. Klicke die Schaltfläche an und der Begrüßungstext ist entfernt.

Dir gefällt es nicht so wirklich, dass der Text ins Arbeitsblatt geschrieben wird, denn Du musst darauf achten, dass diese Zelle frei bleibt. Deshalb zeige ich Dir eine weitere Möglichkeit zur Begrüßung, und zwar mit einer MsgBox. Was ist das nun wieder, fragst Du. Eine MsgBox ist eine Message-Box, ein Element, mit dem Du Dir z.B. das Ende eines Makrolaufs anzeigene lassen kannst. Gehe dazu wieder mit Alt + F11 in die VBA-Oberfläche und schreibe:

Sub Anzeige()

MsgBox („Guten Morgen Kollegin, viel Glück heute!“)          (oder)

MsgBox („Guten Morgen Kollege, viel Glück heute!“)

End Sub

Lege wieder eine Schaltfläche an und klicke darauf. Die MsgBox erscheint mit dem programmierten Text. Solange Du nicht auf OK klickst, stoppt hier das Makro. Erst mit OK wird es dann beendet. Leider lässt sich die MsgBox nicht weiter formatieren, was Größe, Schriftart oder Schriftfarbe betrifft.

Zum Abschluss noch ein paar Erläuterungen zu Begriffen aus Teil 1 und Teil 2: Prozedur: ist in VBA der Oberbegriff für Funktionen und Unterprogramme Standardmodule: sind eigenständige Einheiten in einem Programm, die globale Variablen, Function- und  Sub-Prpzeduren enthalten Sub: bezeichnet ein Unterprogramm, das mit oder ohne Parameter aufgerufen wird und keine Werte zurückgibt, wohl aber Variablenwerte verändern kann Range und Cells: bezeichnen in VBA das Objekt Zelle

Im nächsten VBA-Beitrag wird es um die Deklaration und Verwendung von Variablen in einem Makro gehen. Dann wird auch die Untgerscheidung zwischen den Frau-Texten und Mann-Texten per Makro gelöst. Schau bitte wieder rein.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s