2017-04-06 55 views
0

我正在尝试获取星期二的当前星期日期。使用vba获取当周的星期二的日期?

因此,比如今天是2017年4月4日星期四,所以本周的星期二将是04.04.2017。

我想这一点使用下面的事情:

Dim iWeekday As Integer 
iWeekday = Weekday(Now(), vbTuesday) 
MsgBox iWeekday 

但这周一返回的日期2017年4月3日

请能有人告诉我在哪里,我错了?

+0

您需要使用数字结果减去,所以如果结果是2,这意味着周三,因此将其删除(2-1)得到的日期。 'date-Weekday(Now(),vbTuesday)' –

+0

@Nathan_Sav谢谢,但这会产生溢出错误 – user7415328

+0

我得到'?现在 - 平日(现在(),vbTuesday)'= 03/04/2017 12:48:23和? '日期 - 平日(Now(),vbTuesday)'= 03/04/2017 –

回答

1

您不需要使用Now(),Date就足以获取当前日期(无时间)。

尝试下面的代码:

Dim iWeekday As Date 

iWeekday = Date - Weekday(Date, vbTuesday) + 1 
MsgBox iWeekday 
相关问题