Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Urlaubsplan erstellen u. Export nach Outlook

Urlaubsplan erstellen u. Export nach Outlook
13.12.2006 16:55:24
Thomas
Hallo,
folgendes Problem: Ich möchte die Urlaubstermine eines Teams in einer Exceltabelle pflegen. Die Daten je Mitarbeiter sollen weiterhin so aufbereitet werden, dass man in einer Grafik sieht, wann jeder Urlaub hat und wo es Terminüberschneidungen gibt. Und zu guter letzt sollen die Urlaubtermine in Outlook übertragen werden (als ganztägiges Ereignis mit farbiger Markierung).
Vielleicht hat jemand eine Idee oder das fertige Makro schon parat.
Thomas
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Urlaubsplan erstellen u. Export nach Outlook
13.12.2006 18:27:35
Oberschlumpf
Hi Thomas
"Die Daten je Mitarbeiter sollen weiterhin so aufbereitet werden, dass man in einer Grafik sieht, wann jeder Urlaub hat und wo es Terminüberschneidungen gibt."
Was genau meinst du denn mit weiterhin?
Hast du schon einen Urlauibsplan, der "nur" erweitert werden soll?
Dann lade doch mal ein Bsp auf den Server, damit wir a) sehen können, wie du es haben möchtest und b) damit wir nich etwas "ins Blaue" erstellen und nachher stimmt es doch nicht so ganz.
Ciao
Thorsten
Anzeige
AW: Urlaubsplan erstellen u. Export nach Outlook
14.12.2006 10:22:27
Oberschlumpf
Hallo Thomas
Versuch es mal mit dieser Bsp-Datei:
https://www.herber.de/bbs/user/38985.xls
Es wird wahrscheinlich beim Start dieser Datei/meines Makros ein Fehler auftreten, da ein Verweis auf die "Microsoft Outlook x.x Object Library" gesetzt werden muss.
Ich arbeite mit Office XP, und setze daher den Verweis auf "Microsoft Outlook 10.0 Object Library".
Da du aber mit Office 2000 arbeitest, kann es sein, dass du den Verweis auf "Microsoft Outlook 9.0 Object Library" setzen musst.
Ich weiß das nicht genau, und du wirst es bestimmt feststellen ;-)
Einen Verweis setzt du so:
1. Im VBA-Editor (Alt-F11) klick auf Extras/Verweise
2. Wähle in der Listbox den richtigen Eintrag aus, und setze davor den Haken
Mein Makro funktioniert so:
1. Wenn du mit der rechten Maustaste in Spalte A auf einen beliebigen Namen klickst, erscheint im Kontextmenü an oberster Stelle der Eintrag: "In OL-Kalender eintragen"
2. Wenn du nun diesen Eintrag auswählst, werden alle Urlaubstage in der gleichen Zeile in deinem Outlook-Kalender eingetragen. Arbeitsfreie Tage, wie z Bsp Sa,So + Feiertage werden nicht ausgelassen (war ja auch keine Bedingung von dir)
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Urlaubsplan erstellen u. Export nach Outlook
14.12.2006 12:17:46
Thomas
Hallo Thorsten,
super!!! Besten Dank. Das mit Sa, So u. d. Feiertagen hatte ich vergessen. Wenn Du da noch eine Idee hast. Und wie kann man die Beschriftung in Outlook noch einstellen (z.B. die Kategorie "wichtig" mit rosa Farbe)?
Gruß Thomas
AW: Urlaubsplan erstellen u. Export nach Outlook
14.12.2006 14:13:46
Oberschlumpf
Hi Thomas
Um die Sa + So bei der Urlaubseintragung in Outlook auszuschließen, mache dieses:
1. Öffne den VBA-Editor
2. Wechsel in das Makro "Sub OLCalEntry()"
3. Ändere die Do/Loop-Schleife wie folgt:

Do Until ldtUStart > ldtUEnde
If Weekday(ldtUStart, vbMonday) <> 6 And Weekday(ldtUStart, vbMonday) <> 7 Then
Set objAppointment = Outlook.CreateItem(olAppointmentItem)
With objAppointment
.Subject = "Urlaub - " & Cells(piZeile, 1).Value
.Start = ldtUStart
.AllDayEvent = True
.ReminderSet = False
.Save
End With
Set objAppointment = Nothing
End If
ldtUStart = ldtUStart + 1
Loop

Was die Feiertage betrifft, ist es nicht ganz so einfach, da es ja bewegliche Feiertage gibt, die für jedes Jahr neui berechnet werden müssen.
Schau dir diese Lösung an (unter 2.) und bau sie dir so ein, wie du sie benötigst. Dann kannst du auch Feiertage berücksichtigen.
http://www.excelformeln.de/formeln.html?welcher=3
Und ich hab vergessen zu schreiben, dass ich leider keine Lösung kenne, mit der du mit VBA die Termine einfärben kannst.
Vielleicht hat ja jemand anderes eine Idee.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
Genial, aber Frage hierzu
14.12.2006 14:40:57
Claudia
Hallo Thorsten,
was Du da gemacht hast, finde ich total super. Soetwas könnte ich bei uns auch gut gebrauchen.
2 Fragen hierzu:
1. Kann man das ganze auch erweitern das man eine Anfangs- und eine Endzeit eingibt (mehr gedacht für reine Termine im OutlookKalender) und das ganze dann im Kalender übernommen wird?
2. Wir arbeiten hier mit 2 Kalendern (blöd nicht wahr?). Einen persönlichen und einen öffentlichen. Mein Chef verlangt immer das ich beide Kalender gleich ausfülle damit jeder im Unternehmen sieht wann der andere wo und wielange ist. Kann man also das ganze evtl. in beiden Kalendern eintragen lassen?
Wäre echt super wenn Dir dazu auch soetwas geniales einfällt.
Gruß
Claudia
Anzeige
AW: Genial, aber Frage hierzu
14.12.2006 15:23:35
Oberschlumpf
Hi Claudia
Danke für die Lorbeeren :-)
Aber leider kann ich dir bei deinem Problem nicht helfen.
So wie sich deine Beschreibung liest, nutzt ihr MS Exchange in der Firma und könnt deswegen sogenannte öffentliche Kalender einrichten, auf die jeder Zugriff hat, der dafür freigeschaltet ist.
Ich habe hier zu Hause nur einen PC :-), kein MS Exchange und somit leider auch keine Testmöglichkeit, da ich öffentliche Ordner nicht einrichten kann.
Aber vielleicht weiß ja jemand anderes eine Lösung.
Es ist vielleicht besser, wenn du deine Frage noch mal in einem eigenen Thread stellst, da sie hier vielleicht "untergeht".
Ich weiß, viel "vielleicht", aber nichts ist wirklich sicher - oder vielleicht doch?! :-)
Ciao
Thorsten
Anzeige
Danke werds versuchen Gruß Claudia o.T.
14.12.2006 15:45:29
Claudia
AW: Urlaubsplan erstellen u. Export nach Outlook
14.12.2006 15:09:19
Thomas
Hallo Thorsten,
die Änderung wg. Sa und So probiere ich gleich heute abend noch aus. Das mit dem Einfärben habe ich ev. falsch ausgedrückt. Man kann doch in Outlook die Beschriftung festlegen, wie z.B. Urlaub, die mit einem farblichen Hintergrund dann im Outlook-Kalender markiert wird. Ich dachte dafür gibt es auch einen Befehl, wie zum Festlegen des ganztägigen Ereignisses (objAppointment.AllDayEvent = True).
Gruß Thomas
Anzeige
AW: Urlaubsplan erstellen u. Export nach Outlook
14.12.2006 15:43:11
Oberschlumpf
Hi Thomas
Genau das meine ich auch, was ich bis jetzt noch nicht mit VBA lösen kann. Obwohl ich sicher bin, dass das mit VBA bestimmt auch geht.
Aber so lange wir beide es noch nicht wissen - was spricht denn dagegen, dass du "per Hand" in Outlook die Bedingungen einstellst, dass z Bsp, wenn im Kalendereintrag "Urlaub - Meier" vorkommt, dann Kalendereintrag = rosa - oder wenn im Eintrag "Urlaub - Müller" vorkommt, dann Farbe = Grün, oder oder oder...
Denn durch meinen VBA-Code enthält der Kalendereintrag ja auf jeden Fall schon mal "Urlaub - ".
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Urlaubsplan erstellen u. Export nach Outlook
14.12.2006 15:51:22
Thomas
Hallo Thorsten,
ich denke auch, dass man die Beschriftung mit VBA machen kann. Aber im Internet bin ich noch nicht fündig geworden und Outlook hat leider keinen Makrorekorder. Ist auch nicht zwingend erforderlich, dass die Einträge bunt sind.
Du hast mir bestens geholfen. Vielen Dank.
Thomas
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Urlaubsplan erstellen und in Outlook eintragen


Schritt-für-Schritt-Anleitung

  1. Excel-Urlaubsplan erstellen

    • Öffne Excel und erstelle eine Tabelle mit den Spalten: Mitarbeiter, Urlaubstart, Urlaubende.
    • Füge die Urlaubstage für jeden Mitarbeiter in die entsprechenden Zeilen ein.
  2. VBA-Editor öffnen

    • Drücke Alt + F11, um den VBA-Editor zu öffnen.
    • Klicke auf Extras > Verweise und setze einen Verweis auf die „Microsoft Outlook x.x Object Library“, abhängig von deiner Office-Version.
  3. Makro erstellen

    • Füge ein neues Modul hinzu und kopiere den folgenden VBA-Code hinein:
    Sub OLCalEntry()
       Dim Outlook As Object
       Dim objAppointment As Object
       Dim ldtUStart As Date
       Dim ldtUEnde As Date
       Dim piZeile As Integer
    
       ' Hier die Zeile des Mitarbeiters anpassen
       piZeile = 2 ' Beispiel für die erste Datenzeile
       ldtUStart = Cells(piZeile, 2).Value
       ldtUEnde = Cells(piZeile, 3).Value
    
       Set Outlook = CreateObject("Outlook.Application")
    
       Do Until ldtUStart > ldtUEnde
           If Weekday(ldtUStart, vbMonday) <> 6 And Weekday(ldtUStart, vbMonday) <> 7 Then
               Set objAppointment = Outlook.CreateItem(1) ' olAppointmentItem
               With objAppointment
                   .Subject = "Urlaub - " & Cells(piZeile, 1).Value
                   .Start = ldtUStart
                   .AllDayEvent = True
                   .ReminderSet = False
                   .Save
               End With
               Set objAppointment = Nothing
           End If
           ldtUStart = ldtUStart + 1
       Loop
    End Sub
  4. Urlaub in Outlook eintragen

    • Schließe den VBA-Editor und gehe zurück zu Excel.
    • Klicke mit der rechten Maustaste auf den Namen eines Mitarbeiters in Spalte A und wähle „In OL-Kalender eintragen“, um die Urlaubstage zu exportieren.

Häufige Fehler und Lösungen

  • Fehler: Verweis auf Microsoft Outlook nicht gesetzt

    • Lösung: Stelle sicher, dass du im VBA-Editor unter Extras > Verweise den richtigen Outlook-Verweis aktivierst.
  • Problem: Urlaubstage werden nicht in Outlook eingetragen

    • Lösung: Prüfe, ob die Daten im richtigen Datumsformat vorliegen und die Zeilen im Makro korrekt angegeben sind.

Alternative Methoden

  • Manuelle Eintragung in Outlook

    • Du kannst die Urlaubstage auch manuell in Outlook eintragen, indem du die Daten aus der Excel-Liste kopierst und in den Kalender einfügst.
  • Verwendung von Vorlagen

    • Nutze vorgefertigte Excel-Vorlagen zur Urlaubsplanung und exportiere diese dann in deinen Outlook-Kalender.

Praktische Beispiele

  • Beispiel für einen Urlaubsplan in Excel:

    Mitarbeiter Urlaubstart Urlaubende
    Max Müller 01.06.2023 15.06.2023
    Lisa Schmidt 10.07.2023 20.07.2023
  • Export nach Outlook:

    • Mit dem oben genannten Makro können die Urlaubstage für Max Müller und Lisa Schmidt direkt in den Outlook-Kalender eingetragen werden.

Tipps für Profis

  • Kategorisierung in Outlook:

    • Du kannst im VBA-Code zusätzlich die Kategorie für den Kalendereintrag festlegen, um die Übersichtlichkeit zu erhöhen.
  • Urlaubsplanung im Team:

    • Nutze die Outlook-Funktion „Kalender teilen“, um die Urlaubsplanung im Team zu optimieren.

FAQ: Häufige Fragen

1. Wie kann ich Feiertage in die Urlaubsplanung einbeziehen? Du kannst eine Liste der Feiertage in Excel erstellen und im VBA-Code eine Überprüfung einfügen, um diese Tage auszuschließen.

2. Ist es möglich, den Urlaub für mehrere Mitarbeiter auf einmal einzutragen? Ja, du kannst die Schleife im VBA-Code anpassen, um mehrere Zeilen für unterschiedliche Mitarbeiter zu durchlaufen und deren Urlaub automatisch in Outlook einzutragen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige