Excel 2013 VBA Grundkurs

Prozeduren im Überblick

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Excel-VBA unterteilt alle Prozeduren in solche mit und solche ohne Rückgabewert: Sub-Prozeduren und Funktionen. Einen Sonderfall stellen die Properties da – sie sind so etwas wie programmierbare Variablen.

Transkript

Ich möchte mit Ihnen mal kurz darüber reden, was es ist für Arten von Prozeduren gibt. Das sind nämlich verschiedene. Es beginnt mit den Sub-Prozeduren, oder im Englischen heißen sie Sub Procedure, Unterprogrammen, die dienen dazu, Aktionen auszuführen. In den meisten Fällen wie bisher mit Debug.Print einfach irgendeinen Wert ausdrücken. Während wesentlichsten Merkmalen, nämlich im Vergleich zu den anderen, später ist, dass Sie keinen Rückgabewert haben. Das können Sie sich so ein bisschen vorstellen, wie wenn Sie zur Post gehen, dort geben sie etwas hinein. Sie lösen Aktionen aus, indem Sie Ihren Brief abgeben und das wär`s dann. Mehr passiert nicht. Also es gibt kein Rückgabewert vor Allem. Sie geben den Brief ab und wenn nicht Tante Hilde irgendwann anruft und sagt: "danke schön für den Brief", dann wissen Sie nicht, was mit dem Brief passiert ist. Sie können hoffen, dass es geklappt hat, aber es gibt keine Rückmeldung. Die Schreibweise für Sub Procedures (für Sub-Prozeduren) sieht so aus, wie hier zu sehen. Das Schlüsselwort Sub mit einem frei erfundenen Wort als Bezeichnung. Da drin dann die eigentlichen Aktionen. Das können natürlich auch mehrere sein. Hier ist durch ein Hochkomma als Kommentar deaktiviert. Und irgendwann steht da ein End Sub. Alles von hier bis hier ist der sogenannte Prozedurenrumpf für eine Sub-Prozedur. Das Gegenstück dazu sind Functions - Funktionen. Hier sehen Sie schon das Schlüsselwort: statt Sub steht also Function. Funktionen haben im Wesentlichen den Sinn, eine Berechnung auszuführen. Das hab ich schon mal ein Anführungszeichen gesetzt, weil Berechnung sehr weit gefasst werden müsste. Es sind nicht einfach mathematische Berechnungen da können Sie auch die Texte verketten. Sie können auch Dateien öffnen und Werte auslesen. Sie können auch Dateien schreiben und das Ergebnis melden, dass es geklappt hat. Das wichtigste im Unterschied zu einem Sub ist bei einem Function, dass sie einen Rückgabewert liefert. Und sei es nur die Tatsache, dass sie erfolgreich war. Das ist weniger wie im Postamt, mehr, so wie in der Bücherei. Sie geben was hinein. Z.B. Bestellt-Zettel für die Fernleihe und Sie halten was zurück, z.B. ein Buch (in irgendeiner Form einen Rückgabewert). In der Schreibweise macht das erstmals einen geringen Unterschied. Es beginnt mit Function und wieder am freigewillten Wort. Allerdings ganz deutlich. Eine Funktion hat einen Rückgabewert. Ein Rückgabewert hat einen Datentyp und da steht hier hinter den Klammern. Innerhalb der Function muss irgendwann der Name der Funktion auftauchen, = irgendeinen Wert. Den können Sie berechnen, ermitteln, Dateien öffnen oder frei vergeben, aber irgendwann muss dort stehen Name der Funktion = neuer Wert. Und dieser Wert wird an den Aufrufer zurückgereicht. Das sind sozusagen die beiden großen Gegenstücke: Sub und Function. Sub macht, Function rechnet. Ansonsten sind die Unterschiede nicht wirklich so schlimm. Eine Function kann auch machen und gibt als letztes dann zurück, ich war erfolgreich oder nicht. Der Rückgabewert kann also sehr nachlässlich sein und Sie werden feststellen, dass es tatsächlich auch möglich ist nicht nur mit Sub und Function. Das heißt später auch Methoden ohne und Eigenschaften, Methoden den Rückgabewert zu haben. Es ist sozusagen Sub mit Rückgabewert oder Eigenschaften, nämlich Function, den Rückgabewert Sie ignorieren. Also das wird alles nicht so heiß gegessen, wie gekocht. Aber das ist der wesentliche Unterschied. Sub macht, Function rechnet. Und jetzt kommt dritte dazu, nämlich die Property. Die Property ist vor allem ein bisschen und deswegen eine Verbesserung für einen späteren Code. Eine Property kann ein Wert setzen, wie eine Sub oder zurückgeben, wie eine Function. Und entsprechend kann sie auch Aktionen und Berechnungen ausführen, abgesehen davon, dass hier der Schlüsselwort ändert, ändert sich erst mal gar nicht so viel. Aber die Property ist eigentlich eher mit einer Variablen zu vergleichen. Bei der Variablen hier z.B. gebe ich an die Variable den Wert 6, dann ist er ja drin und kann später auch, wenn ich die Variable abfrage, den Wert 6 wiedererfahren. Der Unterschied zu einer Variablen besteht darin, dass da sozusagen einer mitspielt. Es gibt nicht nur eine Variable, sondern da hängt eine Prozedur dran, die was tun kann. Ganz deutlich z.B. wenn ich eine Variable ändere (lesen oder schreiben oder wie auch immer). Dann kann ich etwas ablaufen lassen, ein Protokoll z.B. Jede Änderung einer Variable wird irgendwo protokolliert. Das geht mit einer Renner-Variablen nicht. Dafür braucht es eine Property. Und weil die Property so vielseitig ist und Sub und Function gleichzeitig ersetzt, hat sie auch zwei Varianten sozusagen. Wenn Sie eine Property Let schreiben und dann der Name der Property ist hier ein Argument, um den Wert zuzuweisen. Das entspricht einer Sub. Und das Gegenstück ist eine Property Get mit dem gleichen Schlüsselwort. Das entspricht einer Function. Hat deswegen hier ein Datentyp für den Rückgabewert. Es gibt übrigens noch Dritte: eine Property Set, die greifen nur dann, wenn Sie ein Objektdatentyp haben und diesem was zuweisen wollen. Im Normalfall mit einfachen Variablen kommen Sie mit Let und Get aus, aber ansonsten steht einfach Set. Die Property Let ist also sozusagen die Sub, die kann etwas machen, in dem Fall den Wert zuweisen. Und die Property Get ist die Function, die also den Wert zurückgibt. Der wesentliche Unterschied ist, die haben beide die gleiche Bezeichnung. Sie würden also irgendwann schreiben Anzahl = 99, und um den Wert rauszuholen, schreiben Sie Debug.Print Anzahl. In beiden Fällen das gleiche Schlüsselwort, das kennen Sie schon. So läuft das nämlich über allen VBA. Sie können Werte lesen und schreiben mit derselben Bezeichnung. Nur nicht wenn Sie mit Sub und Function arbeiten, sondern mit Properties. Also Sub macht, Function rechnet und Property macht beides. So einfach.

Excel 2013 VBA Grundkurs

Holen Sie aus Excel 2013 mit der integrierten Programmiersprache VBA auch das letzte Quäntchen an Funktion heraus und lassen Sie sich dazu zeigen, was alles möglich ist.

6 Std. 18 min (63 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

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!