Office: (Office 2010) Excel Termine in bestimmten Outlook Kalender

Helfe beim Thema Excel Termine in bestimmten Outlook Kalender in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich bräuchte dringend Unterstützung bei folgendem Problem. Ich möchte aus einem Excel Kalender die Termine nach Outlook exportieren.... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von didididi10, 19. Oktober 2013.

  1. Excel Termine in bestimmten Outlook Kalender


    Hallo zusammen,
    ich bräuchte dringend Unterstützung bei folgendem Problem.

    Ich möchte aus einem Excel Kalender die Termine nach Outlook exportieren.
    In der Excel-Datei habe ich dazu einen Button mit untenstehendem Code 1 hinterlegt. Das funktioniert auch sehr gut, allerdings habe ich dazu zwei Probleme...

    Erstens wird jeder einzelne Termin in einem eigenem Fenster angezeigt und muss immer geschlossen werden. Das möchte ich nach Möglichkeit weglassen, da ich keine Lust habe 100 Fenster zu schließen, und

    zweitens schreibt der Code alle Termine nicht in einen Unterkalender namens "Private", sondern in den Standardkalender.


    Unten steht auch ein Code mit dem alle Termine in Outlook gelöscht werden können, allerdings wieder nicht die im Kalender "Private", sondern die Termine im Standardkalender.

    Wie sind die Codes abzuändern, dass alle Eintragungen/Löschungen im Kalender "Private" erfolgen ?

    Wäre klasse, wenn mich da jemand unterstützen könnte !!!

    Vielen Dank schon im Voraus !



    Code 1 zum Schreiben der Termine in Outlook


    Sub Termine_von_Excel_nach_Outlook_exportieren()

    Dim outapp As Object, apptoutapp As Object
    'Deklarationen

    'Termine aus Excel-Sheet lesen


    Range("A2").Select
    'Mit Zelle "A2" beginnen, In Spalte A steht das Datum

    Do Until ActiveCell.Value = ""
    'Wiederhole solange bis eine Zelle in Spalte A leer ist

    If ActiveCell.Offset(0, 10).Value = "x" Then GoTo TerminDa
    'Prüfen ob in Spalte 11 ein x ist,
    'dass bedeutet, dass der Termin schon einmal erfasst wurde
    'Wenn ein x vorhanden ist, dann zur Sprungmarke Termin da gehen

    Set outapp = CreateObject("Outlook.Application")
    Set apptoutapp = outapp.CreateItem(1)

    With apptoutapp
    'Termine werden ab hier aus den Zellen gelesen

    If ActiveCell.Offset(0, 1).Value = "" Then
    ' Wenn keine Startzeit eingetragen ist dann
    .Start = Format(ActiveCell.Value, "dd.mm.yyyy")
    'Starttermin = Datum der aktiven Zelle
    .AllDayEvent = True
    'Ganztagsevent = Wahr
    Else
    'oder
    .Start = Format(ActiveCell.Value, "dd.mm.yyyy") & " " & _
    Format(ActiveCell.Offset(0, 1).Value, "hh:mm")
    'Starttermin = Datum der aktiven Zelle & " " &
    ' Uhrzeit der Zelle rechts neben der aktiven Zelle
    .End = Format(ActiveCell.Offset(0, 4), "dd.mm.yyyy") & " " & _
    Format(ActiveCell.Offset(0, 5).Value, "hh:mm")
    'Endtermin = Datum der 4. Zelle neben der aktiven Zelle & " " &
    ' Uhrzeit der 5. Zelle rechts neben der aktiven Zelle
    End If
    'Ende der Wennprüfung

    .Subject = ActiveCell.Offset(0, 2).Value
    'Terminbezeichnung
    .Body = ""
    'Zusätzlicher Text
    .Location = ActiveCell.Offset(0, 3).Value
    'Ort
    '.Duration = ActiveCell.Offset(0, 4).Value
    'Dauer des Ereignisses

    If ActiveCell.Offset(0, 6).Value "" Then
    Range("A" & Range("A65536").End(xlUp).Row + 1).Value = Format(ActiveCell.Offset(0, 6).Value, "dd.mm.yyyy")
    Range("B" & Range("A65536").End(xlUp).Row).Value = Format(ActiveCell.Offset(0, 7).Value, "hh:mm")
    If ActiveCell.Offset(0, 6).Value > ActiveCell.Value Then
    Range("C" & Range("A65536").End(xlUp).Row).Value = "Errinnerung Ende '" & ActiveCell.Offset(0, 2).Value & _
    " am " & ActiveCell.Offset(0, 4).Value & "'"
    Else
    Range("C" & Range("A65536").End(xlUp).Row).Value = "Errinnerung: '" & ActiveCell.Offset(0, 2).Value & _
    " am " & ActiveCell.Value & "'"
    End If
    Range("E" & Range("A65536").End(xlUp).Row).Value = Format(ActiveCell.Offset(0, 6).Value, "dd.mm.yyyy")
    Range("F" & Range("A65536").End(xlUp).Row).Value = Format(ActiveCell.Offset(0, 7).Value, "hh:mm")
    Range("I" & Range("A65536").End(xlUp).Row).Value = "Ja"
    End If

    If ActiveCell.Offset(0, 8).Value = "Ja" Then
    .ReminderSet = True
    'Erinnerung einstellen
    .ReminderMinutesBeforeStart = ActiveCell.Offset(0, 9)
    'Erinnerung: 0 Minuten vor Ereignis
    .ReminderPlaySound = True
    'Erinnerungsfunktion mit Sound
    End If

    .Save
    'Termin speichern
    .Display
    'Termin anzeigen

    End With

    ActiveCell.Offset(0, 10).Value = "x"
    ' In die 11. Spalte ein x setzen heißt:
    ' der Termin wurde schon einmal in den Kalender eingetragen
    ' Deshalb den Code ab hier weiter abarbeiten

    TerminDa:
    'Sprungmarke

    ActiveCell.Offset(1, 0).Select
    'Nächste Zeile der gleichen Spalte auswählen

    Set apptoutapp = Nothing
    Set outapp = Nothing

    Loop
    'Nächster Schleifendurchlauf

    MsgBox "Termine wurden in den Outlook Kalender übertragen!"

    End Sub

    Code 2 zum Löschen aller Termine
    Sub Alle_Termine_in_Outllok_löschen()
    'http://www.herber.de/forum/archiv/888to892/t890014.htm
    'Verweis auf Microsoft Outlook x.x Object Library muss gesetzt sein
    'Gehe auf EXTRAS / VERWEIS und suche die entsprechende Library
    Dim myOutlook As Outlook.Application
    Dim nameRaum As Outlook.Namespace
    Dim ObjItems As Outlook.Items

    Set myOutlook = CreateObject("Outlook.Application")
    Set nameRaum = myOutlook.GetNamespace("MAPI")
    Set ObjItems = nameRaum.GetDefaultFolder(olFolderCalendar).Items 'Eigener Kalender
    'Wenn ein anderes Postfach Name des Postfaches anpassen
    'Set ObjItems = NameRaum.Folders("Postfach - Gemeinschaft").Folders("Kalender").Items

    Anzahl = ObjItems.Count
    For i = Anzahl To 1 Step -1

    ObjItems(i).Delete

    Next i

    End Sub


    :)
     
    didididi10, 19. Oktober 2013
    #1
  2. Hallo End Sub,

    bitte nutze Code-Tags. Code, der links an den Rand "geklatsch" steht, liest sich grausig. In der Regel verweigere ich überhaupt das Lesen.

    Die Frage hat auch eigentlich nichts mit Excel zu tun. Für Fragen zu Outlook gibt es einen separaten Forenteil.

    zu 1)
    Lass die Zeile
    Code:
    weg. (Nur so nebenbei: Unter der Zeile steht übrigens sauber dokumentiert, wofür diese Zeile da ist: 'Termin anzeigen....)

    zu 2)
    Anstelle CreateItem (das nutzt immer den Standardordner) musst Du Dir den gewünschten MAPI-Folder "angeln". Dazu ist es notwendig zu wissen, wo dieser steht. Am Beispiel eines Unterordners im Posteingang (auch wenn es kürzere Wege dahin gibt: Der ausführliche Weg dient der Veranschaulichung):
    Code:
    Grüße
    EarlFred
     
    EarlFred, 21. Oktober 2013
    #2
  3. Hallo EarlFred,
    da habe ich ja gleich einen guten Eindruck hinterlassen ...... Entschuldigung!!!

    zu 1) Das hatte ich schon vorher probiert, dann wurden aber die Termine nicht nach Outlook übertragen. Woran kann das liegen ???

    zu 2)
    Ich habe nun folgende Folders ausgelesen:
    \\Persönliche Ordner\Kalender\Public
    \\Persönliche Ordner\Kalender\Private


    Der Code sieht als jetzt so aus :

    Code:
    Es erscheint aber jetzt die Fehlermeldung: "Laufzeitfehler 446 Objekt unterstützt keine benannten Argumente"

    Beim Debuggen zeigt er folgende Zeile an:
    Code:
    Der Code zum Löschen aller Termine lautet nun:
    Code:
    Hier erscheint zwar keine Fehlermeldung, aber es wird auch kein Termin im Kalender "Private" gelöscht. Was kann noch falsch sein ?

    Tut mir Leid, ich bin leider ein VBA-Laie. Vielleicht kannst du mir nochmal weiterhelfen. Danke schon im Voraus !!!

    Didi
     
    didididi10, 21. Oktober 2013
    #3
  4. Excel Termine in bestimmten Outlook Kalender

    Hallo Didi,

    bei mir werden Termine grundsätzlich auch dann angelegt, wenn diese nicht vorher angezeigt werden (entscheidend ist die Zeile .Save).

    Sicher, dass dies auf den richtigen Ordner verweist?
    Folders("Persönliche Ordner").Folders("Kalender").Folders("Private")
    Die Ordnerstruktur kennst nur Du - die kann bei jedem anders sein.


    Deine Codes nutzen einen Mischmasch aus Early- und Late-Binding-Codefragmenten. Beim hin- und hereditieren blieb bei mir noch ein Fragment vom Early-Binding im Code - das muss noch raus:

    Code:
    Der Code sollte sowieso grundlegend überarbeitet werden. Dieses unleidige Select-Activate-Konstrukt zieht sich wie eine untilgbare Pestspur durch alle Foren dieser Welt:
    Code:
    Auch wenn man Outlook nicht mehrfach instanzieren kann, gehört das erstellen des Outlook-Objektes auf alle Fälle außerhalb jeder Schleife.

    Wenn Du eine kleine Mustermappe fertig machen könntest (OHNE sensible Daten, versteht sich), verbunden mit einer kleinen, aber aussagekräftigen Beschreibung dessen, was genau passieren soll, schau ich mir das vielleicht nochmal im Kontext an. An einzelnen Codezeilen rumzudoktorn bringt bei diesem Code m. E. keine Vorteile.

    Grüße
    EarlFred
     
    EarlFred, 21. Oktober 2013
    #4
  5. Hallo EarlFred,
    da wäre ich dir sehr dankbar ....
    Im Anhang ist die Datei.

    Dabei sollen
    - bei Aktivierung des Buttons1 alle Termine von Excel nach Outlook in den Kalender "Private" übertragen werden.
    - bei Aktivierung des Buttons2 alle Termine im Kalender "Private" gelöscht werden.

    Noch besser wäre es, wenn je nach Spalte K die Termine mit "Public" in den Kalender "Public" , die Termine mit "Private" in Spalte K in den Kalender "Private" übertragen werden würden.
    Button 2 sollte dann alle Termine in den Kalendern "Public" und "Private" löschen.

    Wäre aber auch schon mit Variante 1 glücklich ...


    Zu deiner Frage der Ordnerstruktur. Ich habe im Netz folgenden Code gefunden:

    Code:
    Der liefert mir eben

    \\Persönliche Ordner\Kalender\Public
    \\Persönliche Ordner\Kalender\Private

    Ich hoffe das ist dann die richtige Ordnerstruktur...


    Auf alle Fälle schon mal vielen Dank im Voraus.

    Beste Grüße
    Didi
     
    didididi10, 22. Oktober 2013
    #5
  6. Hallo Didi,

    probier mal:
    Code:
     
    EarlFred, 22. Oktober 2013
    #6
  7. Hallo EarlFred,
    es funktioniert (fast) einwandfrei. Das ist echt der Hammer ! Grandios !
    Einzig der Termin "Termin Private1" mit Anfangsdatum 15.10.2013 und Enddatum 17.10.2013 wird nicht korrekt übertragen, da in Outlook das Enddatum 15.10.2013 angezeigt wird. Anscheinend gibt es da noch ein Problem bei mehrtägigen Terminen ohne Startzeit.
    Ich habe mir zwar den Code mal angeschaut, aber als VBA Anfänger bin ich da überfordert. Könntest du mir da abschließend nochmals helfen ?

    Bin total begeistert ! Danke schon im Voraus !

    Gruß Didi
     
    didididi10, 23. Oktober 2013
    #7
  8. Excel Termine in bestimmten Outlook Kalender

    Hallo Didi,

    eine Ergänzung in diesem Block, allerdings ungetestet, da keine Zeit dafür:
    Code:
    Grüße
    EarlFred
     
    EarlFred, 23. Oktober 2013
    #8
  9. Hallo EarlFred,
    da kommt nun die Fehlermeldung: " Das von Ihnen eingegebene Ende liegt vor dem Beginn".....

    Eilt nicht.....und Danke !
    Gruß Didi
     
    didididi10, 23. Oktober 2013
    #9
  10. Hallo Didi,

    zuerst pack mal +1 auf das Enddatum drauf. Davor musst Du noch prüfen, ob überhaupt ein Enddatum angegeben ist:
    Code:
    Auch wieder blind getippt. Hoffe, passt.

    Grüße
    EarlFred
     
    EarlFred, 23. Oktober 2013
    #10
  11. Hallo EarlFred !

    Jetzt ist alles bestens. GENIAL !!!!

    Ich verbeuge mich vor dir und deinem Wissen !!!!


    DANKE !!!

    Beste Grüße
    Didi
     
    didididi10, 23. Oktober 2013
    #11
  12. Hallo Didi,

    juhu, geschafft! *wink.gif*
    Danke für die nette Rückmeldung.

    Grüße
    EarlFred
     
    EarlFred, 24. Oktober 2013
    #12
  13. Excel Termine in bestimmten Outlook Kalender

    Auch wenn ich das Thema jetzt ausgrabe, mir hat der Code auch sehr geholfen, da ich ähnliches benötige nur mit dem Zusatz wenn in der Bsp-Mappe in Spalte L eine Variable steht soll er den Termin nicht exportieren, weil so bekomm ich doppelte Einträge im Kalender.

    Gibt es hierfür auch eine Lösung?

    LG
    Motzle
     
  14. Hallo Motzle,

    bestimmt, ja.

    Vermutlich musst Du in diesem Codeteil eine weitere Prüfung einbauen:
    Code:
    was Du mit
    meinst, verstehe ich allerdings nicht.

    Grüße
    EarlFred
     
    EarlFred, 20. Februar 2015
    #14
Thema:

Excel Termine in bestimmten Outlook Kalender

Die Seite wird geladen...
  1. Excel Termine in bestimmten Outlook Kalender - Similar Threads - Excel Termine bestimmten

  2. Excel Termin in Outlook Kalender

    in Microsoft Excel Hilfe
    Excel Termin in Outlook Kalender: Hallo zusammen, ich habe mal wieder ein Problem das ich schlicht und ergreifend nicht gelöst bekomme. Leider bin ich in VBA ein absoluter Neuling. Beverly hier aus dem Forum hat mir mit einem...
  3. Ausgewählte Excel Termine per VBA in Outlook importieren

    in Microsoft Excel Hilfe
    Ausgewählte Excel Termine per VBA in Outlook importieren: Hallo Forum, ich habe ein merkwürdiges Problem und finde den Fehler nicht... Ich habe in einer Exceldatei Termine gespeichert, die ich in einen Outlook Kalender importieren möchte. Dies sind mal...
  4. Termine in Excel mit "x" markieren

    in Microsoft Excel Hilfe
    Termine in Excel mit "x" markieren: Hallo zusammen, ich möchte in einem Planungstool (siehe Anhang) die vergebenen Termine (Start + Dauer - derzeit gelb hinterlegt) noch mit x markieren. Mit welcher Formel kann ich das am besten...
  5. Termine in Excel importieren mit VBA-Code

    in Microsoft Excel Hilfe
    Termine in Excel importieren mit VBA-Code: Guten Tag zusammen Ich möchte gerne mittels Button, resp. VBA-Code die Outlook-Termine (MS Office Standard 2016) in Excel 2016 importieren. Vielen Dank für die Unterstützung. 368530
  6. Excel Erinnerung Termin farbig

    in Microsoft Excel Hilfe
    Excel Erinnerung Termin farbig: Hallo Hallo, ich hoffe auf Hilfe von Euch. Wir benutzen auf Arbeit eine erstellte Excel-Liste in der Endtermine für die Fertigstellung eingetragen werden. Nun möchte ich gerne das die in Spalte B...
  7. Excel Termine über entry ID mit Outlook abgleichen

    in Microsoft Excel Hilfe
    Excel Termine über entry ID mit Outlook abgleichen: Hallo liebe VBAler, meine Kenntnisse in VBA habe ich mir größtenteils selbst beigebracht bzw. das meiste ergooglet. Ich habe für meine arbeit als Disponent eine Excel Arbeitsmappe erstellt in der...
  8. Tabelle aus Excel über VBA in Outlook mit Formatierung übertragen

    in Microsoft Excel Hilfe
    Tabelle aus Excel über VBA in Outlook mit Formatierung übertragen: Hallo zusammen, ich bin langsam am verzweifeln, da ich bisher nichts passendes gefunden habe. Kurz zur Erklärung: Über einen Button soll eine Einladung zu einem Termin via Outlook generiert...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden