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

Excel 2016 VBA Grundkurs

Funktions-Prozeduren

Testen Sie unsere 2017 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Eine Funktion gibt, anders als eine Sub-Prozedur, beim Aufruf immer einen Wert zurück. Dessen Datentyp legen Sie beim Deklarieren der Funktion fest. Oft handelt es sich dabei um berechnete Ergebnisse, es können aber auch einfache Ja/Nein-Informationen darüber sein, ob die Funktion fehlerfrei durchgelaufen ist.

Transkript

Der Unterschied zwischen einer Sub und einer Function ist relativ gering. Das war erstens ein anderes Schlüsselwort und zweitens nur eine Function kann ein Rückgabewert haben. Wenn ich jetzt also beispielsweise herausbekommen möchte, wer vor dem Computer sitzt, will ich das nicht jedes Mal neu ermitteln, sondern ich delegiere das an jemanden, der das für mich nachguckt. Ohne, dass ich dann wissen muss, was es ist. In diesem Fall weiß ich es weil ich die Function selber schreibe, also eine Function, die ich dann immer "Wer bin ich " nenne, und die genau so eigentlich wie eine Sub mit dem Return erstmal den Prozedur-Rumpf erstellt, aber anders als das Return einen Rückgabewert hat und da ich einen Text zurück bekomme As Str. Was hier drinnen passiert ist fast so wie bei einer Sub mit dem wesentlichen Unterschied: irgendwann und zwar bei mir jetzt sofort muss ich den Namen der Function als Variable, als Rückgabewert benutzen und also schreiben: Name der Function gleich und vorübergehend nenne ich mal den Namen Hardcodiert ohne, dass ich es wirklich nachschaue. Wenn ich eine Function aufrufen will, ich kann das ja schon einmal speichern zwischendurch, dann ist die bequemste Methode, hier unten im Direktbereich mit einem Fragezeichen, das ist sozusagen das Debug Print. Dann suche ich den Namen der Function. Den muss ich nicht komplett schreiben, auch hier funktioniert Strg Leertaste, die Intellisense Suche und anständigerweise sollte ich bei einem Aufruf einer Function Klammern dahinter setzen, auch wenn sie noch keine Parameter hat. Mit dem Return wird ein Wert hier zurückgegeben. Jetzt ist es natürlich nicht besonders flexibel, wenn ich meinen Namen da immer wieder hinein schreibe, deswegen will ich hier schon einmal auf eine eingebaute Function verweisen, die greift auf die so genannten Umgebungsvariablen zurück, also mit Environ, Umgebung und dort geben Sie dieses Expression hier als Name des Arguments ist wenig hilfreich, dort geben Sie einen String namens "Username" zurück. Das heißt von außen her hat sich die Funktion nicht geändert, die macht jetzt etwas Anderes. Und Sie können hier, obwohl da ein Text schon darunter steht, mit Return das noch mal ausführen lassen. Und sehen jetzt, tatsächlich bin ich hier als Trainer angemeldet. Das ist der Trick bei Functions, anstatt das immer wieder selber raus zu bekommen: ich rufe die auf und kümmere mich dann später gar nicht mehr darum, was die intern macht. Wenn ich das also in einer normalen Prozedur aufrufe, die irgendetwas Beliebiges macht, dann kommt irgendwann der Aufruf dieser Function. Da muss ich am besten eine Variable vorbereiten, also Dim StrName As String sagen wir mal. Jetzt will ich den Namen wissen, den merke ich mir also in den Variablen und kann jetzt hier die Function aufrufen, auch hier Anfang des Namens schreiben Strg Leertaste. Entweder kommt die Intelisense-Liste oder es ist sofort eindeutig. Hinter Functions sollte man immer die Klammern schreiben, auch wenn keine Parameter drin sind. Der Aufruf einer Function ist mit Klammern, bei einer Sub die aufgerufen wird, ohne. In der nächsten Zeile kann ich jetzt mit der Variablen irgendetwas machen. Damit Sie sehen, dass durchaus mal längere Strecken dazwischen sein können mit irgendwelchen fremden Code. Jetzt kommt hier endlich eine Aktion, die diese Variable benutzt. Nämlich StrName ausdruckt. Damit Sie unten sehen, das aufgeräumt ist, hier habe ich jetzt mit F5 die Möglichkeit die Prozedur zu starten, Das ist ja eine Prozedur ohne Parameter, die kann ich starten. Dann läuft die durch, holt sich den Inhalt von "Wer bin ich" hier rein und druckt den hier aus. Also einmal F5. Da ist es ausgedruckt. Was die Function macht, will ich hier gar nicht wissen. Aber wenn ich es wissen möchte, gibt es ein sehr schönes Tastenkürzel, was sowohl Functions als auch Subs anspringt. Wenn ich jetzt nämlich zu der Definition springen will, Umschalt F2, Shift F2, dann springt der Cursor dort hin, wo die Function erstellt wird. und zwar egal ob es im gleichen Modul ist oder in einem anderen Modul dieser Datei. Sie müssen also nicht lange suchen, wenn Sie es mal nachschauen wollen.

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
Erscheinungsdatum:30.08.2016

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!