Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum mehrfach um 1 erhöhen

Forumthread: Datum mehrfach um 1 erhöhen

Datum mehrfach um 1 erhöhen
04.04.2013 11:27:04
Werner
Hallo zusammen!
Ich möchte in Outlook automatisch 5 Termine an aufeinderfolgende Tage (außer Wochenende) einfügen.
Beginnend immer Heute + 1.
Beispiel:
Heute wäre der 01.01.
Termine sollen automatisch dann für den 02.01., 03.01., 04.01., 07.01. und 08.01. erstellt werden.
05. & 06.01. ist ja Wochenende.
Geht so was?
Ich blicke nicht wie man das machen muss.
Kann mir jemand helfen?
Danke!
Gruß
Werner

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Excelforum?
04.04.2013 11:28:36
Klaus
Hallo Werner,
ich les grad den Bezug zu Excel nicht. Warum fragst du dass nicht in einem Outlook Forum?
Grüße,
Klaus M.vdT.
  • in Excel währs =HEUTE()+1

  • AW: Excelforum?
    04.04.2013 11:32:33
    Werner
    Hallo Klaus
    Weil ich das Ganze aus Excel heraus anlegen will.
    Gruß
    Werner

    AW: Excelforum?
    04.04.2013 11:34:44
    Werner
    So weit bin ich schon durch suchen vorgedrungen...
    Sub Terminanlegen()
    Dim OutApp As Object 'Dim OutApp As Outlook.Application
    Dim apptOutApp As Object
    Dim i As Integer
    Dim Datum As Date
    Datum = Date
    Set OutApp = CreateObject("Outlook.Application")
    Set apptOutApp = OutApp.GetNamespace("Mapi").GetDefaultFolder(9).Items.Add
    For i = 1 To 5
    With apptOutApp
    .Start = Format(Datum, "dd.mm.yyyy") & " 8:00"
    .Subject = "Kennwort ändern!" 'Betreff für Termin
    '.Body = "Hier ist der Text" 'Zusätzlicher Text im Termininfo
    .Location = "" 'Ort des Termines
    .Duration = "5" 'Dauer. Angabe ist jeweils in ganzen Minuten zu setzen
    .ReminderMinutesBeforeStart = 5 'Erinnerung in Minuten
    .ReminderPlaySound = True 'mit oder ohne Sound
    .ReminderSet = True 'Erinnerung
    .Save 'Termin speichern
    End With
    Next i
    'ActiveCell.Offset(1, 0).Select 'Nächste Zeile auswählen
    Set apptOutApp = Nothing 'Variablen leeren
    'Set OutApp = Nothing 'Variablen leeren
    MsgBox "Termine angelegt..." 'Popup mit Erfolgsinfo
    End Sub
    

    Anzeige
    AW: Excelforum?
    04.04.2013 11:38:27
    Klaus
    Hi Peter,
    in deinem Code wird hier
    Datum = Date
    das Datum für den Termin festgelegt. EInfachste Lösung: schreibe hier
    Datum = Date + 1
    und kopiere das Makro 5 mal, jeweils mit +1, +2 usw in dieser Zeile und einer fortlaufenden Nummer im Namen.
    Wenn du Datum vorher übergibst, kannst du das auch per Schleife aufrufen und sparst dir das sinnlose kopieren:
    (absolut ungetestet, da ich momentan keine Termine in mein Outlook haben möchte)
    
    Sub FuenfTermine()
    dim i as integer
    for i = 1 to 5
    call terminanlegen(date + i)
    next i
    End Sub
    Sub Terminanlegen(datum as long)
    Dim OutApp As Object 'Dim OutApp As Outlook.Application
    Dim apptOutApp As Object
    Dim i As Integer
    Dim Datum As Date
    'AUSKOMMENTIERT
    'Datum = Date
    Set OutApp = CreateObject("Outlook.Application")
    Set apptOutApp = OutApp.GetNamespace("Mapi").GetDefaultFolder(9).Items.Add
    For i = 1 To 5
    With apptOutApp
    .Start = Format(Datum, "dd.mm.yyyy") & " 8:00"
    .Subject = "Kennwort ändern!" 'Betreff für Termin
    '.Body = "Hier ist der Text" 'Zusätzlicher Text im Termininfo
    .Location = "" 'Ort des Termines
    .Duration = "5" 'Dauer. Angabe ist jeweils in ganzen Minuten zu setzen
    .ReminderMinutesBeforeStart = 5 'Erinnerung in Minuten
    .ReminderPlaySound = True 'mit oder ohne Sound
    .ReminderSet = True 'Erinnerung
    .Save 'Termin speichern
    End With
    Next i
    'ActiveCell.Offset(1, 0).Select 'Nächste Zeile auswählen
    Set apptOutApp = Nothing 'Variablen leeren
    'Set OutApp = Nothing 'Variablen leeren
    MsgBox "Termine angelegt..." 'Popup mit Erfolgsinfo
    End Sub
    
    Grüße,
    Klaus M.vdT.

    Anzeige
    AW: Excelforum?
    04.04.2013 12:45:00
    EtoPHG
    Hallo Werner,
    versuch's mal so:
    Datum = Date
    Set OutApp = CreateObject("Outlook.Application")
    For i = 1 To 5
    With OutApp.GetNamespace("Mapi").GetDefaultFolder(9).Items.Add
    Do
    Datum = Datum + 1
    Loop While Weekday(Datum, vbMonday) > 5
    .Start = Format(Datum, "dd.mm.yyyy") & " 8:00"
    '... restlicher Code
    .Save
    End With
    Next i
    
    Gruess Hansueli

    Anzeige
    AW: Excelforum?
    04.04.2013 13:12:14
    Werner
    Hallo Hansueli - EINWANDFREI!
    Danke an die Helfer!
    Geiles Forum hier.
    Bis neulich
    Werner
    ;
    Anzeige
    Anzeige

    Infobox / Tutorial

    Termine in Outlook aus Excel erstellen


    Schritt-für-Schritt-Anleitung

    Um in Excel automatisch 5 Termine in Outlook für aufeinanderfolgende Tage (außer Wochenenden) zu erstellen, kannst du das folgende VBA-Makro verwenden:

    1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

    2. Erstelle ein neues Modul: Rechtsklicke im Projektfenster auf "VBAProject (DeineDatei.xlsm)", wähle "Einfügen" und dann "Modul".

    3. Füge den folgenden Code ein:

      Sub TermineErstellen()
         Dim OutApp As Object
         Dim apptOutApp As Object
         Dim Datum As Date
         Dim i As Integer
      
         Datum = Date + 1 ' Startdatum ist heute + 1
         Set OutApp = CreateObject("Outlook.Application")
      
         For i = 1 To 5
             Do
                 ' Erhöhe das Datum um 1
                 Datum = Datum + 1
             Loop While Weekday(Datum, vbMonday) > 5 ' überspringe Wochenenden
      
             Set apptOutApp = OutApp.GetNamespace("MAPI").GetDefaultFolder(9).Items.Add
             With apptOutApp
                 .Start = Format(Datum, "dd.mm.yyyy") & " 08:00"
                 .Subject = "Termin"
                 .Duration = 60 ' Dauer in Minuten
                 .ReminderMinutesBeforeStart = 15
                 .Save
             End With
         Next i
      
         MsgBox "Termine angelegt..."
         Set apptOutApp = Nothing
         Set OutApp = Nothing
      End Sub
    4. Schließe den VBA-Editor und kehre zu Excel zurück.

    5. Führe das Makro aus: Drücke ALT + F8, wähle TermineErstellen und klicke auf "Ausführen".


    Häufige Fehler und Lösungen

    • Fehler: "Objekt nicht gefunden"
      Lösung: Stelle sicher, dass Outlook auf deinem Computer installiert und eingerichtet ist.

    • Fehler: Termine werden am falschen Datum erstellt
      Lösung: Überprüfe die Logik in der Schleife, die das Datum erhöht, um sicherzustellen, dass Wochenenden übersprungen werden.


    Alternative Methoden

    Eine alternative Methode ist die Verwendung von Excel-Formeln, um die Termine zuerst in einer Liste zu erstellen und dann manuell in Outlook zu übertragen. Du kannst die Formeln wie folgt verwenden:

    1. In Zelle A1: =HEUTE()+1
    2. In Zelle A2: =WENN(WOCHENTAG(A1+1;2)=6;A1+3;A1+1)
    3. Ziehe die Formel in Zelle A2 nach unten, um die nächsten Termine zu generieren.

    Praktische Beispiele

    Hier ist eine praktische Anwendung des oben beschriebenen Makros. Angenommen, heute ist der 01.01.2023:

    • Erster Termin: 02.01.2023
    • Zweiter Termin: 03.01.2023
    • Dritter Termin: 04.01.2023
    • Vierter Termin: 07.01.2023 (Wochenende übersprungen)
    • Fünfter Termin: 08.01.2023 (Wochenende übersprungen)

    Tipps für Profis

    • Anpassungen: Du kannst die Dauer oder den Betreff der Termine direkt im Code ändern, um sie an deine Bedürfnisse anzupassen.
    • Fehlerbehandlung: Implementiere eine Fehlerbehandlung im Makro, um unerwartete Probleme zu vermeiden.
    • Verwendung von Variablen: Du kannst Variablen definieren, um den Code übersichtlicher zu gestalten, z.B. für den Betreff oder die Dauer.

    FAQ: Häufige Fragen

    1. Kann ich das Makro anpassen, um mehr als 5 Termine zu erstellen?
    Ja, ändere einfach die Zahl in der For-Schleife von 5 auf die gewünschte Anzahl.

    2. Was muss ich tun, wenn ich Excel 2010 oder älter verwende?
    Die meisten Funktionen und der VBA-Code sollten auch in älteren Versionen funktionieren. Achte darauf, die richtigen Verweise in den Einstellungen zu setzen, falls erforderlich.

    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