Ich weiß, dass dies eine einfache Frage sein kann, aber ich kann das nicht herausfinden. Wenn das Debugger für VBA ausgeführt wird, wird das dritte Argument in Zeile 11 als "9/13/2016" wie erwartet angezeigt, aber Start_d ist "06/09/2016" aus irgendeinem Grund ???DateAdd Rückgabewert ist falsch
Ich habe versucht, start_d zu einem String und Date-Objekt, beide ergeben das gleiche Ergebnis. Alles was ich will ist, dass start_d 7 Tage vor dem aktuellen Datum ist.
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
Systemformat auf TT-MM-JJJJ ändern. – HA560
gab es keine Option für TT-MM-JJJJ auf meinem Laptop, also habe ich TT-MM-JJ verwendet. start_d ist immer noch falsch: "06-09-2016". Warum ist es nicht einmal im Format des Systemdatums ... ?? –
@ HA560 Ich war in der Lage, es an das Datum anzupassen, das Sie gefragt haben, es kommt immer noch mit "06-09-2016" –