Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Excel: Eigene Funktionen mit VBA erstellen

Excel-Objekte ansprechen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Innerhalb Ihres VBA-Codes können Sie jederzeit auf Excel-interne Objekte zugreifen. Das ist eigentlich gar nicht so schwierig, Sie müssen lediglich wissen, wie Sie diese Objekte korrekt ansprechen.
06:52

Transkript

Funktionen liefern berechnete Werte. Prima! Muss man immer nur Werte berechnen, oder kann man auch Informationen über Excel sich auslesen lassen? Klar! Sie haben einen großen Zugriff, zugegeben nicht alles geht, aber einen Zugriff auf sehr viele der Excel Objekte, die Sie auslesen können. Eines der wichtigsten Objekte ist sicherlich die Zelle. Nun diese Zelle ist im Moment leer, diese Zelle ist als Standard definiert, vordefiniert, das heißt, hier habe ich noch kein Zahlenformat drin. Wenn ich hier jetzt in die Zelle mit der Tastenkombination Strg + Punkt ein Datum reinschreibe, dann zeigt er hier in der Registerkarte Start an, diese Zelle ist als Datum formatiert. Prima! Wenn ich es löschen würde, Entfernen, zeigt er mir, die Zelle ist immer noch als Datum formatiert. Prima, ich mache es wieder rückgängig. Wenn ich dieses Datum umformatiere, das heißt, rechte Maustaste Zellen formatieren Zahlen und beispielsweise auf benutzerdefiniert gehe, ich möchte ganz gerne den TTTT, "den". Ich weiß, ist altmodisch, aber ich mache es trotzdem. TT Monat und Jahr. Ups ich mache noch eine Leerstelle rein, es sieht schöner aus. Ok, halt. Hier drin. Dann zeigt er mir, das aktuelle Datum in diesem Format an. Ok, wunderbar, klasse. Problem, hier in Start steht benutzerdefiniert. Woher soll ich jetzt wissen, Entfernen, ob das benutzerdefiniert ein benutzerdefiniertes Währungsformat, Datumsformat, Uhrzeitformat, Prozentformat, was ist es denn? Da machen wir doch eine Funktion! Zurück. Dazu muss ich allerdings wissen, wie greife ich auf die Zelle zu. Also wir wechseln rüber in die Entwicklertools Virtual Basic, wir erstellen uns Einfügen Neues Modul, schreiben eine Funktion und nennen diese Funktion mal beispielsweise Zellenformat. Klammer auf. Was bekommt jetzt die Zelle? Sie bekommt jetzt keinen integer-, keinen double-, keinen date-Wert, sondern sie bekommt jetzt die Zelle selbst übergeben. Die Zelle, ich nenne sie einfach mal Zelle, nicht sehr originell, As darf ich jetzt nicht vom Typ integer oder long oder double definieren, sondern muss ich vom Typ As range definieren, ganz wichtig. Ich greife hier auf die eine Zelle zu. Dieses eine Zellenformat übergibt mir eben die Formatierung As String in dem Beispiel. Das ist ja ein Text, zum Beispiel TT oder 0.00 oder Ähnliches. Und was macht die Funktion? zellenformat = ich hole mir von der Zelle, Punkt, das Format raus und hier nehmen wir doch natürlich NumberFormat am besten local, sonst haben wir das US-amerikanische Format, mit dem der Anwender normalerweise wenig anzufangen weiß. Nehmen wir das NumberFormatLocal. Das war es auch schon. Das heißt, wenn ich jetzt wieder nach Excel wechsele, wenn ich jetzt hier auf die Zelle wechsele, könnte ich über meine neue Formel, die hier wieder in Funktion sind, auf meine neue Funktion ZellenFormat zugreifen, Ok. ZellenFormat verlangt diese Zelle als Wert und Sie sehen hier schon das Ergebnis, Ok. Er zeigt mir hier an, wie die Zelle formatiert ist. Es könnte interessant sein bei sehr vielen Informationen, die in einer Tabelle gespeichert worden sind. Das heißt also, man kann auf die Excel-Objekte zugreifen und das Wichtigste der Excel-Objekte ist sicherlich die Zelle, dich ich hier vom Typ Range definieren muss, oder besser sollte. Wenn ich es als Range definiere, dann kann ich nämlich schrieben Zelle. und so weiter und auf die Eigenschaften dieser Zelle zugreifen. Ich komme nicht nur auf die Zelle, sondern ich komme auch auf die Datei, von der ich die Anzahl der Blätter mir zurückgeben lassen kann. Ich komme auf mein Excel, indem ich bestimmte Einstellungen nach Excel schreiben kann oder natürlich auch auf bestimmte Blätter, von den ich Information auslesen kann. Ich möchte noch ein kleines Beispiel zeigen, nach dem ich einmal gefragt worden bin. Nämlich wie kann ich den Benutzernamen mit Hilfe einer Formel, einer Funktion in Excel direkt eintragen? Sie wissen sicherlich, unter Datei Informationen, steht der Name des Autors hier drin. Diesen Autornamen, den kann man natürlich auslesen, Escape, auslesen und Sie ahnen es, schreiben wir doch eine kleine Funktion dazu, function. Diese Funktion gibt mir den Benutzernamen, Benutzername, Namen, Name, zurück. Klammer auf, Klammer zu. In dem Beispiel erhalte ich keinen Wert, also kein Argument, kein Parameter, aber As String, er liefert mir den Namen als Text natürlich zurück. Und meine Funktion Benutzername = der bekommt jetzt von meinem Excel von, ich kann application schreiben, ich könnte es auch weglassen. Punkt, von meiner Active Worrkbook von der aktuellen Datei, die ich habe, Punkt, den Benutzernamen und das ist der BuiltinDocumentProperties. Wenn Die VBA gut kennen, dann wissen Sie DocumentProperties das Schluss s im Englischen sagt mir, es ist eine Sammlung, und ich muss von der Sammlung auf das entsprechende Element losgehen und das Element des Autors heißt, Klammer auf, muss man jetzt wissen, "Author", groß oder klein geschrieben, Klammer zu, und von diesem Autor hätte ich ganz gerne .value und dann liefert er mir den Namen eben dieses Autors. Das heißt, wenn ich jetzt meine Funktion BenutzerName in Excel aufrufe, dann steht hier =BenutzerName, nicht vergessen, Klammer auf, Klammer zu, Enter, mein Benutzername Trainer Trainer, so heiße ich an diesem Rechner, an dem ich gerade sitze. Also zusammengefasst: Sie können auch von dem Excel- Objekten, Informationen auslesen. Achtung es gibt einige Grenzen, nicht alles. Dazu verwenden Sie Application, Workbook, Worksheet oder natürlich Range für die Zelle und kommen so auf Inhalte, auf Formate, auf Einstellungen, auf Optionen zurück, die Sie als Funktionen in Excel reinschreiben können.

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!