Frage : Excel VBA minus eines Monats

Hallo haben Experts

I dieses Makro, das eine MS Outlook-Verabredung addiert, die auf der vorgewählten Excel-Zelle basiert (die ein Datum ist).  Es funktioniert OK.

As, das Sie sehen, die folgende Linie Sätze der Verabredungsanfang, zum an 8am, 31 Tage zu sein vor dem ActiveCell Datum.  

. Anfang = ActiveCell.Value - 31 + TimeValue („08: 00: 00“)

My Frage, wie kann bin ich das ändern, um EIN MONAT vor dem ActiveCell Datum eher als 31 Tage zu sein?  So, wenn das ActiveCell Datum 24/3/2011 ist. Anfang ist 24/2/2011.

Thanks

Will
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
Sub Set_Outlook_Reminder ()
Schwaches objOutlook als Gegenstand
Schwaches objAppt als Gegenstand
Schwaches objNamespace als Gegenstand
Schwaches objFolder als Gegenstand
 
Arbeitsblätter („Kunden-Datenbank“). Aktivieren
 
    objOutlook = CreateObject („Outlook.Application“) einstellen
    
    objNamespace = objOutlook.GetNamespace („MAPI“) einstellen
    objFolder = objNamespace.GetDefaultFolder einstellen (9)
    objAppt = objFolder.Items.Add einstellen 'verursachen Aufgabeneinzelteil
    Mit objAppt
        . Anfang = ActiveCell.Value - 31 + TimeValue („08: 00: 00“)
        . Ende =. Anfang + TimeValue („00: 30: 00“)
        . Thema = „Rechnung“ + ActiveCell.Offset (- 2, 0). Wert
        . Position = ""
        . Körper = ""
        .BusyStatus = olBusy
        .ReminderMinutesBeforeStart = 120
        .ReminderSet = richten aus
        . Speichern
    Mit beenden

objAppt einstellen = nichts
objFolder einstellen = nichts
objNamespace einstellen = nichts
objOutlook einstellen = nichts

MsgBox „erfolgreich hinzugefügt Aussicht“

Enden-Unterseeboot

Antwort : Excel VBA minus eines Monats

Von um zu erhalten das Datum „einem Monat vor“, verwenden dieses:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
Sub Set_Outlook_Reminder ()
objOutlook als Gegenstand verdunkeln
objAppt als Gegenstand verdunkeln
objNamespace als Gegenstand verdunkeln
objFolder als Gegenstand verdunkeln
 
Arbeitsblätter („Kunden-Datenbank“). Aktivieren
 
    objOutlook = CreateObject („Outlook.Application“) einstellen
    
    objNamespace = objOutlook.GetNamespace („MAPI“) einstellen
    objFolder = objNamespace.GetDefaultFolder einstellen (9)
    objAppt = objFolder.Items.Add einstellen 'verursachen Aufgabeneinzelteil
    Mit objAppt
        . Anfang = DateAdd („m“, 1, ActiveCell.Value) + TimeValue („08: 00: 00“)
        . Ende =. Anfang + TimeValue („00: 30: 00“)
        . Thema = „Rechnung“ + ActiveCell.Offset (- 2, 0). Wert
        . Position = ""
        . Körper = ""
        .BusyStatus = olBusy
        .ReminderMinutesBeforeStart = 120
        .ReminderSet = richten aus
        . Speichern
    Mit beenden

objAppt einstellen = nichts
objFolder einstellen = nichts
objNamespace einstellen = nichts
objOutlook einstellen = nichts

MsgBox „erfolgreich hinzugefügt Aussicht“

Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us