2017-01-09 93 views
0

目前我有这样的:VBA的天周一个星期

Now() - Weekday(Now(), vbMonday) + 1 

的问题是,如果我使用一个不同的一周,同样的日期仍显示。

我有一个下拉列表,显示了我选择的那一周的日子。现在从本周选择它,所以在第一周,星期一的日期已经是第九天。

应该是怎样的: 我选择一个星期编号,并且与那个星期编号对应的日期需要显示在下拉列表中。

有人可以帮我吗?我真的不知道该怎么办..

+0

这种情况是您使用Now()函数返回当前日期。您需要参考从下拉列表中获取的一周或一天。你能分享下拉列表中的细节和日期的形式吗?还有下拉列表的参考? – Rufus

+0

@Rufus我有StartDate = Now() - Weekday(Now(),vbMonday)+ 1 getWeekDatums = getWeekDatums&CStr(Format(StartDate,“dd-mm-yyyy”))由下拉列表 – user7219039

回答

0

你可以使用类似的东西,如果我有你。

Function FirstMondayInWeek(intWeekNum As Integer) As Date 

Dim d As Date 

d = DateSerial(Year(Now) - 1, 12, 31) 

Do Until Weekday(d, vbMonday) = 1 
    d = d + 1 
Loop 

FirstMondayInWeek = DateAdd("WW", intWeekNum - 1, d) 

End Function 
相关问题