Excel: Eigene Funktionen mit VBA erstellen

Grenzen von Funktionen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Funktionen liefern Ergebnisse – aber leider kann man nicht alles in VBA programmieren, was man haben möchte. Lassen Sie sich in diesem Video zeigen, wo die Programmierung von Funktionen in Excel ihre Grenzen hat.
04:09

Transkript

Auf eine kleine Grenze oder einen Knackpunkt oder soll ich es nennen Wermutstropfen, möchte ich doch noch aufmerksam machen. Funktionen, die einen Wert erhalten, so wie hier beispielsweise die Oster-Funktion, die die Jahreszahl erhält und einen Wert zurückgeben, beispielsweise den Datums-Wert, eben an welchen Tag Ostersonntag ist, sind relativ schnell gemacht, schnell durchdacht, wenn Sie so etwas mit Messageboxen, Inputboxen, mit einer Sub lösen, gut, prima, einfach. Kann ich umwandeln in eine function, prima, klasse, klappt. Text, Zahl, Kommazahl, Boolean-Wert, kein Problem. Jedoch diese Oster-Funktion erhält eine Jahreszahl, zum Beispiel 2015, und liefert mir den Ostersonntag von diesem Jahr. Einen Knackpunkt hat es. Bevor ich Ihnen den zeige, noch eine kleine kurze Bemerkung zur Oster-Funktion. Das habe nicht ich mir ausgedacht, das geht auf einen genialen Mathematiker zurück, nämlich auf Herrn Gauss, Karl Friedrich Gauss, der ist wahrscheinlich lange über die Felder von Norddeutschland gelaufen durch die Wälder und hat sich dann überlegt, wenn ich die Zahl multipliziere mit 19 und 7 und teile durch 4 und nehme den Rest und so weiter, dann bekomme ich ein Muster, nach dem ich den Ostersonntag ermitteln kann. Ostersonntag ist immer der erste Sonntag im Frühjahr nach dem ersten Vollmund und leider mit eine schöne Unregelmäßigkeit eben immer an einem anderen Tag. Und eben dieser Gauss war so clever, was so, ich sage mal genial, dass er dafür eine Formel ermittelt hat und diese Formel gilt immer noch bis 1999. Im nächsten Jahrhundert müssen wir, glaube ich, die Zahl 1 dazu addieren, aber bis dahin haben wir noch ein bisschen Zeit, bis dahin gilt unsere Osterformel. Was die genau tut, das finden Sie im Internet oder in vielen Büchern, das interessiert mich nicht, das habe auch nicht ich mir ausgedacht, das haben andere Menschen oder ganz genau dieser einer Mensch sich ausgedacht. So verwenden wir es mal. Das heißt, würde ich jetzt Ostersonntag berechnen, =Ostern von dem Jahr 2015, Klammer zu, Enter, dann berechnet er 42099. Wenn Sie Excel gut kennen, wissen Sie, hinter dieser Zahl, hinter dieser seriellen Zahl, verbirgt sich ein Datum. Das heißt, ich kann das Datum umformatieren, am besten gleich in ein langes, dann sehe ich, Sonntag der 5 April im Jahr 2015 ist der Ostersonntag. Leider, das müssen Sie mal glauben, können Sie gerne probieren, kann ich nicht in die Funktion eintragen, bitte formatiere die Zelle vom Typ Datum. Sie sehen, obwohl ich hier in dieser Oster-Formel das Ergebnis As Date geliefert hatte, schafft es Excel nicht, den Ostersonntag so gleich zu formatieren. Die internen Excel- Funktionen, die Sie verwenden, wenn ich hier auf einer unformatierten Zelle, das heißt einer Zelle vom Zahlentyp Standard, bin und verwende hier aus Formeln Datum und Uhrzeit eine Formel wie beispielsweise Datum, dann bekomme ich ein Datum geliefert, das gleich als Datum formatiert ist. Was die hier intern gemacht haben, entzieht sich meiner Kenntnisse. Umgekehrt ich weiß nur, dass ich leider mit VBA diese Zelle jetzt nicht in dem Code in dieser Funktion umformatieren kann. Ich kann zwar ein Ergebnis liefern As Date aber nicht eine formatierte Zelle. Schade! Wenn Sie es brauchen, wenn Sie es schön sehen wollten, könnte man natürlich, As String, eine Textkette liefern. Nachteil: Damit kann ich nicht mehr rechnen. Ich kann nicht zum Beispiel den Karfreitag oder den Ostermontag berechnen. Es heißt also für uns: Wenn Sie Datums-Funktionen haben, wenn Sie Funktionen haben, die ein Datum als Ergebnis liefern, dann müssten Sie dieses Ergebnis umformatieren, oder in eine schon formatierete Zelle diese Formel, diese Funktion verwenden.

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!