Excel: Eigene Funktionen mit VBA erstellen

Programmcode eingeben

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Machen Sie sich mit dem VBA-Editor vertraut und lassen Sie sich zeigen, wie Sie sauberen Programmcode erstellen und mit Kommentaren arbeiten.
08:37

Transkript

Wenn Sie die Registerkarte Entwicklertools aktiviert haben, dann finden Sie in dieser Registerkarte am linken Rand ein Symbol, Virtual Basic. Mit diesem Icon, mit diesem Symbol, gelangen Sie in unsere Programmierumgebung Virtual Basic oder auch VBA genannt, Virtual Basic for Applications, in der wir die Funktionen erstellen. Doch bevor wir auf Funktionen los gehen, lassen Sie uns ein Blick auf der allgemeinen Entwicklungsumgebung werfen. Dazu klicke ich hier auf die Schaltfläche Virtual Basic und finde nun zwei Fenster. Im ersten Fenster, im oberen Fenster, den sogenannten Projekt-Fenster, werden sämtliche Dateien aufgelistet, die zur Zeit in Excel offen sind. In diesem Beispiel haben wir eine Datei-Funktion in .xlsm. In dieser Datei werde ich gleich die Funktionen erstellen. Darunter befindet sich ein Eigenschaft-Fenster, das für uns erstmal keine große Rolle spielt. Und rechts klafft eine große Lücke. In dieser Lücke werden wir gleich programmieren und damit wir dies können, brauchen wir ein sogenanntes Modul. Ein Modul ist ein Behältnis, ein Gefäß, in dem die einzelnen Funktionen bzw. Makros erstellt werden können. Dieses Modul fügen Sie ein, na, wie wohl? über dem Menüpunkt Einfügen Modul. Es geht auch mit der rechten Maustaste und dann gelangen Sie in einem Modul, in dem wir los programmieren können. Wenn Sie möchten, können Sie auch dem Modul einen Namen geben hier unten in den Eigenschaften. Achtung nicht rechte Maustaste Umbenennen, sondern Sie können hier unten den Modul zum Beispiel Funktionen, Meine Funktionen oder ich beginne immer ganz gerne mit dem Schlüsselwort mod, ich nenne es mal modVBA_allegemein, einen Namen geben, weil wenn wir noch mehrere Module haben, haben wir so eine kleine Ordnung geschaffen und finden unsere Makros bzw. unsere Funktionen besser. So ich klicke in das Modul und beginne nun nicht mit einer Funktion, sondern erstmal mit einer kleinen Prozedur, da ich zeigen möchte, wie man den Code eingibt. Wenn Sie schon einmal ein Programmierbuch in der Hand gehabt haben, dann wissen Sie sicherlich, jeder Programmierer liebt den Satz Hello world und freut sich, wenn am Anfang irgendein Text am Bildschirm steht, beispielsweise Hello world oder auch Grüß Gott oder Ein schönen guten Morgen oder welcher Text auch immer. Das mache ich auch mal um einfach zu zeigen, wie man in VBA programmiert. Dazu schreiben ich ein Makro oder eine Prozedur oder ein Programm und das beginnt mit dem Schlüsselwort sub Leertaste, diesen Makro gebe ich einen Namen beispielsweise Meldung. Danach drücke ich die Enter--Taste und das Sub kennt er als Schlüsselwort, deshalb wird es blau und wird auch groß geschrieben. Er beendet diese Prozedur, dieses Makro, mit einen End Sub und hinter der Meldung taucht eine Klammer auf, Klammer zu, auf. Nun ein Meldungsfenster, das muss man wissen, dafür gibt es kleine Listen, Meldungsfenster hat in VBA den Befehl msgbox Leertaste und dann kommt schon die erste wunderbare Hilfe von VBA, nämlich so ein kleines gelbes Quickinfo in dem er sagt: Ich brauche unbedingt ein Prompt, wie Sie hier sehen, Prompt ist der Text, den wir gleich melden werden, ich kann optional auch noch Buttons und einen Titel und eine Hilfe und so weiter bekommen. Das Ergebnis der Messagebox, beispielsweise Ja oder Nein angeklickt werde, kann wenn es mich interessiert, wenn es abgefangen wird, As MsgBoxResult abgefangen werden, das ist eine Konstante, dahinter verbirgt sich eine Zahl. So beginnt man ganz von links natürlich. Er verlangt ja unbedingt ein Prompt. Ich melde mal Anführungszeichen, da ich Hello world albern finde, melde ich ein Grüß Gott oder Guten Morgen. Bleichen wir doch bei einem Grüß Gott, Anführungszeichen, weil es sich hier um Text handelt. Der Prompt ist verpflichtend, der Prompt ist unbedingt nötig, das heißt, den Prompt habe ich eingegeben. Da ich keine Buttons brauche, kann ich mein Programm hier schon laufen lassen entweder über das grüne Pfeilchen, oder über Ausführen Ausführen. oder, diese Taste sollten Sie sich merken, über die Funktionstaste F5. Klick und damit läuft mein Meldungsfenster Grüß Gott. Ok nicht sehr aufregend, zugegeben, aber mir geht es im ersten Schritt einfach mal darum, kurz zu zeigen, wie man in VBA Codezeilen erstellt. Nach dem Grüß Gott kann ich optional Komma, ein Komma drücken, das Komma habe ich hier in dem gelben Quick-Infofenster gesehen und jetzt kommt die zweite Hilfe: Er listet sämtliche der Buttons auf, das heißt, ich könnte ein Informationsbutton machen vbInformation, ich bestätige es nicht mit Enter, sondern mit der Tabulatortaste, weil ich in dieser Zeile bleiben will, und könnte jetzt zusätzlich + noch ein vbyesno. Sie sehen hier gibt es einige sogenannte Buttons, einige Bilder, Schaltflächen und so weiter, vbyesno, hier ist er, oder hier ist nocancell, Nehmen, den ich auch wieder mit der Tabulatortaste bestätige, bleibe also in der Zeile. Komma. Danach könnte ich noch ein Titel hinzufügen, beispielsweise "video2brain". Das Ganze starte ich nun wieder mit F5. Aber Sie sehen natürlich nicht, dass ich F5 drücke, deshalb wechsele ich hier über Ausführen Ausführen oder über das grüne Pfeilchen und das kleine Makro zu starten. Er meldet nun, neben den Grüß Gott ein Nein, Ja, Abbrechen, ein Infobutton, einen Title und wenn ich auf Nein klicke, was passiert? Nein, natürlich nichts, weil ich eben nicht gesagt habe, was er danach tun soll. Beachten Sie bitte, folgende Dinge sind noch wichtig für uns, für VBA, für später die Funktionen, eine Zeile in VBA ist ein Befehl, ein Befehl ist eine Zeile, das heißt, Sie dürfen nicht, wie in anderen Programmiersprachen Usus ist, zwischen den einzelnen Befehlen ein Enter drücken, so etwas ist nicht zulässig, wie Sie sehen, es wird rot, er schimpft, er beschwert sich, muss ich hier wieder entfernen. Zum Zweiten ich darf hier natürlich einrücken, so viel ich will, ich darf vorne dran Leerzeichen, Leerzeilen, Tabulatoren und so weiter setzen, da finden, dran Leerzeilen machen um mein Programm besser zu strukturieren, besser zu untergliedern, das ist alles erlaubt. Und letzte Sache, wenn ich für mich eine lange Zeile habe und möchte die lange Zeile doch umbrechen, da gibt es sehr wohl ein Befehl dafür. Dann mache ich das immer ganz gerne mit dem Unterstrich _ Enter, jetzt darf ich, jetzt muss ich, den zweiten Teil dieses Befehls in die zweite Zeile schreiben. Beachten Sie, vor dem Unterstrich muss sich ein Leerzeichen befinden, Leerzeichen Unterstrich, dann kommt die nächste Zeile, das heißt, jetzt habe ich mein Befehl umgebrochen. Und schließlich, wenn Sie so etwas machen, sollte Sie natürlich auch kleine Kommentare dazu schreiben, zum Beispiel geschrieben mit einem Hochkomma, "Das ist ein Meldungsfenster". Ich gebe es zu, nicht so aussagekräftig, aber mir geht es ja noch nur um die Idee. Damit weiß ich für mich, hier ist eine Zeile, in der habe ich erklärt, was dieses Programm, was dieses kleine Makro, was dieser Befehl tut und kann später noch verstehen, was wir hier berechnet, getan, gedacht gemacht haben, oder auch wer das Programm angelegt hat, wann es erstellt wurde und so weiter. Also zusammenfassen: Kleine Programme werden auch Makros genannt oder Prozeduren, beginnen mit dem Schlüsselwort sub, haben danach einen Namen. Dann schreiben Sie die Codezeile entweder in einer Zeile oder, wenn Sie umbrechen möchten, mit Leertaste Unterstrich, können, sollten Kommentare, Informationen dazu fügen, können gerne Leerzeilen, Leerzeichen, Tabulatoren einfügen, wie Sie möchten, müssen aber darauf achten, dass jede Zeile immer zusammenhängt, das heißt, niemals mit Enter, Enter, Enter oder niemals zwischen drin mit mehreren Enters getrennt werden.

Excel: Eigene Funktionen mit VBA erstellen

Schreiben Sie Ihre eigenen Excel-Funktionen. Als erfahrener Excel-Anwender lernen Sie, wie Sie mithilfe von VBA Berechnungen mittels selbst erstellter Funktionen automatisieren.

3 Std. 4 min (33 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:21.01.2015

Im Training wird Excel 2013 benutzt. Die Vorgehensweisen sind aber für alle Windows-Versionen von Excel identisch und leicht übertragbar.

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!