2009-07-21 8 views
0

Ich muss automatisch aktuelle Wochen erste Datum in eine Tabelle und ein Textfeld eines VBA-Formulars hinzufügen. Könnte jemand helfen, wenn irgendwelche Funktionen verfügbar sind ??Erste Woche Datum hinzugefügt werden in VBA

+0

http://www.techonthenet.com/excel/formulas/index_vba.php –

Antwort

1
monday = DateAdd("d", 1 - Weekday(Date, vbMonday), Date) 
0

Verwenden

DateAdd("d", Weekday(Date(), 3) * -1, Date()) 
+0

Ich habe es nicht getestet, aber ich würde es mir vorstellen ... es würde nur versuchen, 0 Tage (0 * -1) –

+0

hinzuzufügen Wenn sie an einem Montag aufgerufen wird, wird der vorherige Montag zurückgegeben. –

+0

Wochentag (Datum(), 3) gibt 7 für einen Montag zurück –

0

Ich weiß, dass Sie gesagt haben VBA aber hier ist, wie es in Access-Datenbank-Engine SQL getan werden kann und funktioniert 'stand alone', dh nicht Access- oder VBA erfordern (natürlich die Logik kann in VBA übersetzt):

Woche Beginn Sonntag: wenn an einem Sonntag läuft das aktuelle Datum zurück:

SELECT DATEADD('WW', DATEDIFF('WW', #1990-01-07 00:00:00#, NOW()), #1990-01-07 00:00:00#) 

Woche Sonntag beginnen: Wenn an einem Sonntag läuft die vorherigen Sonntag zurück:

SELECT DATEADD('D', (DATEDIFF('D', #1990-01-08 00:00:00#, NOW()) \ 7) * 7, #1990-01-07 00:00:00#) 

Hinweis: 1990-01-07 00:00:00 ein beliebiges Datum sein, um einen Sonntag bekannt ist.

Verwandte Themen