我知道这可能是一个简单的问题,但我无法弄清楚这一点。当运行VBA的调试器时,第11行的第三个参数按预期显示为“9/13/2016”,但由于某些原因,start_d是“06/09/2016”?DateAdd返回值不正确
我曾尝试将start_d设置为字符串和Date对象,两者都产生相同的结果。我想要的只是start_d在当前日期前7天。
Sub addData(lastRow As Integer, lab() As String, c() As String, IP() As String, usage() As String, fName As String)
Dim reportWeek As Integer
Dim numWeeks As Integer
Dim monthWeek As Integer
Dim start_d As Date ' As String UPDATED
Dim thisYear As String
Dim thisMonth As String
Dim thisDay As String
' the reports run every monday
start_d = DateAdd("d", -7, Date)
'start_d = Format(start_d, "dd/mm/yyyy") UPDATED
thisYear = year(start_d) 'year(CDate(start_d)) UPDATED
thisMonth = month(start_d) 'month(CDate(start_d)) UPDATED
thisDay = day(start_d) 'day(CDate(start_d)) UPDATED
reportWeek = weekNum
monthWeek = getWeekOfMonth(CDate(start_d))
numWeeks = weekCount(thisYear, thisMonth)
Debug.Print reportWeek & monthWeek & numWeeks & thisYear & thisMonth & thisDay
End Sub
将系统日期格式更改为dd-mm-yyyy。 – HA560
在我的笔记本电脑上没有dd-mm-yyyy选项,所以我使用了dd-MM-yy。 start_d仍然不正确:“06-09-2016”。为什么它甚至不是系统日期的格式......? –
@ HA560我可以自定义它到您提出的日期,它仍然提出“06-09-2016” –