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

Excel: Eigene Funktionen mit VBA erstellen

Beispiele zu Funktionen mit mehreren Parametern

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Funktionen mit mehreren Argumenten werden ebenso programmiert wie Funktionen mit einem Parameter. Die einzelnen Argumente werden lediglich durch ein Komma voneinander getrennt.
07:58

Transkript

Wenn Sie sich das anschauen, erinnern Sie sich? Ja irgendwann 7. Klasse, 8. Klasse, 9. Klasse, ich weiß nicht mehr ganz genau. Da haben wir quadratische Gleichungen gelöst. Sie erinnern sich, eine quadratische Gleichung hat die Werte p und q, das heißt, jede quadratische Gleichung ist in der Form x2+px+q. Man könnte sie allgemeiner schreien als ax2+bx+c=0 und hat die Lösung, hier in der vereinfachten Form -p/2+-p/2-q und daraus die Wurzel gezogen. Das heißt, eine quadratische Gleichung in der Form x2-5+6=0 hätte als zwei Lösungen die Werte 2 und 3. Was bietet sich da anderes dann als in Excel eine kleine Funktion zu schreiben, bei der die beiden Parameter p und q eingegeben werden und als Ergebnis eine Lösung bzw. die zweite Lösung rauskommt? Nun dafür brauchen wir natürlich zwei Formeln, zwei Funktionen, die das tun, aber nichts leichter als das. Schauen wir uns das Ergebnis mal an. Ich erstelle eine Funktion, Entwicklertools Virtual Basic, hier sehen Sie bereits. Quadratische_Gleichung einmal L1, einmal L2. Beide bekommen die Werte p bzw. q. Beide bekommen Werte vom Double-Typ, weil ich kann ja auch Kommazahlen zulassen und beide liefern mir eine möglicherweise Kommazahl. Ich habe mit einer Zwischenvariable, einer Hilfsvariable, der sogenannten Diskriminante gearbeitet, die mir hier den Wert unter der Wurzel berechnet und splittet das da nochmal auf - (p / 2) + die Wurzel - (p / 2) - die Wurzel und liefert mir das Ergebnis. Probieren wir es mal, ich wechsele nach Excel zurück. Ich trage hier ein, Formeln Funktion einfügen, meine Funktion Quadratische_ Gleichung, wo ist sie? Hier, LI, Ok. Hier oben sehen Sie noch die Werte, wenn ich -5 für p und +6 für q, dann bekomme ich den einen Wert, in dem Fall die 3, bei der anderen bekomme ich die 2. Wunderbar! Schauen wir das Ganze nochmal an. Das heißt, ich habe... Falsch geklickt. Entwicklertools Virtual Basic. Ich habe hier eine Funktion, die mehrere Parameter bekommt und der einzige Unterschied zu einen Parameter, ist eben, dass die mehreren Parametern, die alle zwingend erforderlich sind, mit einem Komma getrennt werden, Komma, Komma, Komma. Ich kann beliebig viele Parameter hier vorgeben, die Funktion gibt jedenfalls einen Wert nur zurück. Auch hier das erinnern Sie sich auch noch, rechtwinkliges Dreieck a2+b2=c2, das heißt, ich quadriere die eine Seite, die andere Seite und das Ergebnis ist natürlich wieder eine Zahl, von der die Wurzel gezogen werden wird. Um es schön ordentlich zu machen, schreiben wir hinten noch As Double und habe dann eben mein Satz des Pythagoras, den ich hier auch ausprobieren kann. Formeln Funktion einfügen und hole nun hier aus dem Funktions-Assistent die Funktion Rechtwinkliges_ Dreieck heraus, Ok, trage ich hier beispielsweise 3 und 4 ein. 3x3=9, 4x4=16, 9+16=25, die Wurzel aus 25 ist 5. Das klassische Rechtwinkel gibt Dreieck 3, 4, 5. Prima! Ich muss nicht nur mathematische Funktionen auf dieser Art und Weise lösen, ich kann auch andere Funktionen lösen. Auch hier zeige ich Ihnen noch zwei der Funktionen, die ich auch mit gebracht habe, ich habe sie hier ein bisschen versteckt. Ein Beispiel ist der Body-Mass-Index. Als Erklärung der Body-Mass- Index wird berechnet aus Gewicht / Größe x Größe und Achtung die Größe normalerweise in Meter angegeben. Würde ich sie in Zentimeter antragen, dann muss ich das Ergebnis nochmal durch 100, durch 100, also durch 10.000 berechnen. Über den Body-Mass-Index berechnen vor allen Dingen Anästhesisten, die Menge des Narkosemedikaments, dass den Patienten eingeflößt gegeben wird. Der Body-Mass-Index taucht natürlich in anderen Zusammenhängen auf, das kennen Sie alle selbst. Da drauf will ich jetzt nicht eingehen, ich persönlich halte nichts von diesem mich selbst definieren durch den Body-Mass-Index, aber schauen wir mal, was diese Formel hier liefern würde. Das heißt, angenommen ich hätte Formeln Funktion einfügen, einen Body-Mass-Index, ein Gewicht von, sagen wir mal, 77 Kilo, eine Größe, die ich in Zentimeter, beispielsweise 183, eintrage, dann liefert er 22,9 und Sie können jetzt entscheiden, ob das gut ist, oder zu dürr, oder ein bisschen zu korpulent, oder, oder. Auf jeden Fall die Formel liefert mir diesen Wert und darauf kommt es mir hier an. Noch ein kleines Beispiel? In Excel habe ich zwar Formeln, Funktionen, habe zwar sehr viele Text-Funktionen, beispielsweise die Formel Finden. Findet mir einen Text innerhalb eines anderen von links. Oder analog die Funktion Suchen. Suchen macht fast das gleiche. Suchen beachtet die Größ- und Kleinschreibung hier nicht bei der Suche. Allerdings habe ich leider keine Funktion, die mir eine Finden, eine Suche von rechts ermöglicht. Das wird häufig gebraucht, beispielsweise in einer Zeichenkette, einem Pfad, wo ist das letzte Backspace- Zeichen innerhalb dieses Pfades. Nun das kann man doch programmieren, klar! Entwicklertools habe ich vorbereitet, vielleicht haben Sie es schon gesehen. Hier Finden_Von_Rechts, Suchen_Von_Rechts. Analog den beiden anderen Funktionen, die ich gezeigt habe. Es wird ein Suchtext eingegeben, es wird ein Text eingegeben, das Ergebnis ist eine Zahl. Er findet die Position von der letzten Stelle und die Schleife läuft jetzt nicht von 1 bis zur Anzahl der Zeichen, sondern in dem Fall von dem letzten Zeichen bis nach 1. Step - 1 jeweils in einem Schritt nach unten. Wenn er diesen einen Schritt findet, ich hätte auch hier mit der Funktion mitarbeiten können, wenn der Text an dieser Stelle steht, dann zählt er weiter und am Ende liefert diese Funktion eben Finden_Von_Rechts oder Suchen_Von_Rechts diese Zahl. Wenn er nirgendwo diesen Text findet nun, dann bekomme ich halt als Zahl, als Ergebnis 0. Das macht auch Excel, wenn in einem Text einen anderen Text nicht gefunden wird, bekomme ich keine Fehlermeldung, sondern die Zahl 0. Schauen wir das schnell an. Das heißt, würde ich jetzt meiner neuen Funktion, Formeln Funktion einfügen, die ich hier drin habe, in benutzerdefiniert natürlich, Finden_Von_Rechts, machen wir den mal hier, und suchen den Suchtext kleines e. Suchen wir den in Rene Martin, dann sagt er mir an 8er Stelle ist das letzte e, das heisst, er zählt jetzt von rechts 1, 2, 3, 4, 5, 6, 7, 8. tatsächlich von rechts gezählt, ist das erste Vorkommen eines e die 8 Position. Und es gibt natürlich Fälle, wo ich diese Funktion brauchen kann. Heißt zusammengefasst: Funktionen die mehrere Parameter verarbeiten, werden folgendermaßen erstellt, indem Sie Entwicklertools Virtual Basic, genau wie bei den einfachen Funktionen, die Parameter jeweils durch ein Komma getrennt hintereinander wegschreiben.

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!