Herbers Excel-Forum - das Archiv

Urlaubsplan erstellen u. Export nach Outlook

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
ListBox
Bild

Betrifft: Urlaubsplan erstellen u. Export nach Outlook
von: Thomas

Geschrieben am: 13.12.2006 16:55:24
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
Bild

Betrifft: AW: Urlaubsplan erstellen u. Export nach Outlook
von: Oberschlumpf

Geschrieben am: 13.12.2006 18:27:35
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
Bild

Betrifft: AW: Urlaubsplan erstellen u. Export nach Outlook
von: Thomas
Geschrieben am: 13.12.2006 19:11:57
Hallo Thorsten,
ich hoffe, das hilft weiter.
Thomas
https://www.herber.de/bbs/user/38963.xls
Bild

Betrifft: AW: Urlaubsplan erstellen u. Export nach Outlook
von: Oberschlumpf

Geschrieben am: 14.12.2006 10:22:27
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
Bild

Betrifft: AW: Urlaubsplan erstellen u. Export nach Outlook
von: Thomas
Geschrieben am: 14.12.2006 12:17:46
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
Bild

Betrifft: AW: Urlaubsplan erstellen u. Export nach Outlook
von: Oberschlumpf

Geschrieben am: 14.12.2006 14:13:46
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
Bild

Betrifft: Genial, aber Frage hierzu
von: Claudia

Geschrieben am: 14.12.2006 14:40:57
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
Bild

Betrifft: AW: Genial, aber Frage hierzu
von: Oberschlumpf

Geschrieben am: 14.12.2006 15:23:35
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
Bild

Betrifft: Danke werds versuchen Gruß Claudia o.T.
von: Claudia
Geschrieben am: 14.12.2006 15:45:29
Bild

Betrifft: AW: Urlaubsplan erstellen u. Export nach Outlook
von: Thomas

Geschrieben am: 14.12.2006 15:09:19
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
Bild

Betrifft: AW: Urlaubsplan erstellen u. Export nach Outlook
von: Oberschlumpf

Geschrieben am: 14.12.2006 15:43:11
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
Bild

Betrifft: AW: Urlaubsplan erstellen u. Export nach Outlook
von: Thomas

Geschrieben am: 14.12.2006 15:51:22
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
 Bild
Excel-Beispiele zum Thema "Urlaubsplan erstellen u. Export nach Outlook"
Bei falscher Eingabe alten Wert wiederherstellen Automatisch Sicherungsdatei erstellen
Eigene Menüleiste mit Untermenüs erstellen Arbeitsmappen-History erstellen
Per VBA einen Verweis zu einer *.DLL erstellen Startansicht wiederherstellen
Aus AddIn neue Arbeitsmappe mit Code erstellen Benutzerdefinierte Funktion durch Code erstellen und löschen
Faxbestellung auf Grundlage einer Artikelliste erstellen Seitenumbruch ermitteln und Übertrag erstellen