Excel-VBA: Termine aus Excel in Outlook anlegen

Das Problem

In Zeiten von Corona müssen alle ein wenig umdenken und unter Umständen ihre Arbeitsweise an die aktuelle Situation anpassen. Für mich bedeutet dies, dass ich deutlich mehr Online Seminare (VLC-Virtual Live Classroom) gebe. Zusätzlich hat sich ergeben, dass ich meine Terminlücken jetzt mit kurzen 1-3 stündigen Seminaren fülle, was zur Folge hat, dass ich sehr häufig Seminartermine in Outlook einpflegen und auch wieder löschen muss, wenn sie nicht stattgefunden haben.
Dieses ständige Anlegen und Löschen von Terminen war, wie ich fand, sehr arbeitsintensiv und nervig. Also habe ich mir eine Exceltabelle angelegt, in der ich alle VLC-Termine aufliste. Unterstützt durch Excel-Formeln und -Funktionen konnte ich die Eingaben auf ein Minimum beschränken.

Aufbau der Tabellen

Ich habe zunächst die Tabellen „tblSeminare“ und „tblKategorien“ angelegt.
Die Tabelle tblSeminare wurd von Hand gefüllt und enthält alle Themen, die ich als VLC-Training anbiete (hier nur ein Auszug). Sie enthält alle für den Termin relevanten Daten (der Stundensatz wurde verfälscht 😉 ).
Die Tabelle tblKategorien wird über eine Prozedur gefüllt, die ich später noch beschreibe.

Im nächsten Schritt habe ich eine Tabelle mit den realen Terminen angelegt.

In diese Tabelle trage ich nur den Termin und die Uhrzeit für den Start ein. Das Seminar wähle ich über ein DropDown Feld aus, das über die Datenüberprüfung gefüllt wird.

Ein einfacher Bezug auf die erste Spalte der Seminartabelle würde nicht dynamisch sein! Das hat zur Folge, dass ein neues Seminar nicht im DropDown erscheint, wenn ich es in die Seminartabelle eintrage.

Ein Trick löst dieses Problem. Mit der Funktion INDIREKT() kann der Name der ersten Spalte als String eingefügt werden. Auf diese Art können beliebig viele weitere Seminare erfasst werden. Diese erscheinen dann auch im DropDown der Termintabelle.

Die Felder Dauer und Stundensatz habe ich mir mit der neuen Funktion XVERWEIS() geholt. Diese Funktion kombiniert unter anderem die Funktionen SVERWEIS() und WENNFEHLER(). Das wäre aber ein Artikel für einen weiteren Blogbeitrag.
Der Seminarpreis wird errechnet und in der Spalte „Übertragen“ wird automatisch =FALSCH eingetragen. Später setzt die Prozedur zum Übertragen der Termine WAHR in dieses Feld ein. Der Status bleibt zunächst offen und in das Feld Kategorie wird der ausgewählte Wert aus dem Feld fldKategorie übernommen. Die Kategorie bestimmt, welche Farbe mein Termin in Outlook annimmt. Es besteht jetzt schon die Möglichkeit, die Kategorie pro Termin zu ändern, die Prozedur überträgt jedoch noch den im Feld fldKaregorie gewählten Eintrag.

Das Feld bietet auch ein Dropdown mit allen Kategorien aus Outlook. Es wird über die Datenüberprüfung mit dem schon erwähnten „Trick“ =INDIREKT(„tblKategorien[Kategorien]“) gefüllt.

Die Prozeduren

Um die Prozeduren zum Eintragen und Löschen der Termine zu starten, habe ich zwei Schaltflächen aus den Formularsteuerelementen eingefügt.

Hierzu muss das Register Entwicklertools eingeblendet werden und über den Button Einfügen die Schaltfläche aus den Formularsteuerelementen gewählt werden. Nach dem Einfügen wird sofort nach dem Makro (Prozedur) gefragt, welches der Schaltfläche zugeordnet werden soll. Wenn die Prozedur noch nicht existiert, kann dieser Dialog abgebrochen werden und das Makro (die Prozedur) später zugewiesen werden.
Leider ist das Wording hier etwas unpassend. Ein Makro ist eine aufgezeichnete Prozedur und von Prozeduren sprechen wir, wenn der Quellcode selbst geschrieben wurde. Für den Einsteiger ist das oft verwirrend, wenn mal von einem Makro und mal von einer Prozedur geredet wird. In diesem Kontext kann man die Begriffe aber synonym verwenden.

Die einzelnen Zeilen des Quellcodes habe ich ausgiebig kommentiert, so dass mir eine zusätzliche Beschreibung hier im Blogartikel unnötig erscheint. Sollte jedoch etwas unklar sein, besteht die Möglichkeit, den Blog zu kommentieren. Ich werde dann den Artikel bestmöglich ergänzen. Die Arbeitsmappe befindet sich zum Download am Ende des Artikels.

Excel Schulungen bei INCAS Training

Ob Kompaktkurs, Grundlagen- oder Aufbauseminar, wir bieten Ihnen professionelle Excel-Kurse an. Werfen Sie einen Blick in die Inhalte folgender Kurse:

Excel Kompakt: Der Intensivkurs – Werden Sie vom Einsteiger zum Fortgeschrittenen
Excel Grundlagen: Excel – Das vielseitige Tabellenkalkulationsprogramm
Excel Aufbau: Mit diesem Seminar werden Sie zum Ex(cel)perten!
Excel Datenanalysen: Datenauswertungen mit Aussagekraft
Excel PowerPivot: PowerPivot – Der Turbo für Ihre Auswertungen
Excel VBA Programmierung und Automatisierung: Programmieren Sie Ihre eigenen Prozesse in Excel
Excel für Datenanalyse und Controlling: Werden Sie zum professionellen Zahlen-Jongleur!

Wir sind Microsoft Partner und arbeiten ausschließlich mit qualifizierten Office Trainern zusammen. Die Spitzenbewertungen unserer Trainer und des Trainingsumfeldes sprechen für sich: Kurse bei INCAS Training sind der beste Weg, um sich professionell und mit Spaß einem Programm und seinen neuen Funktionen zu nähern.

Comments are closed.

Kategorien

Archiv