你可以做這樣的事情,我可以改變只包括月:
Function MakeDates(startDate As Date) As Date()
Dim myDates() As Date, myYear As Integer, myMonth As Integer, daysInMonth As Integer
Dim firstOfMonth As Date, firstOfNextMonth As Date, d As Integer
myYear = Year(startDate)
myMonth = Month(startDate)
firstOfMonth = DateSerial(myYear, myMonth, 1)
firstOfNextMonth = DateSerial(myYear, myMonth + 1, 1)
daysInMonth = DateDiff("d", firstOfMonth, firstOfNextMonth)
ReDim myDates(daysInMonth - 1)
For d = 1 To daysInMonth
myDates(d - 1) = DateSerial(myYear, myMonth, d)
Next d
MakeDates = myDates
End Function
那麼你可以這樣稱呼它
Dim d
d = MakeDates(#2/1/2014#)
Range("A1").Resize(rowsize:=31).Value = ""
Range("A1").Resize(rowsize:=UBound(d) + 1) = WorksheetFunction.Transpose(d)
倒數第二行將爲您刪除多餘的日期。
您應該將範圍格式化爲日期。你可以在代碼中做到這一點,或只是在Excel中做一次。後者可能更容易。
'所以他們保持從第一到第三十一'如果你將12月31日更改爲二月份會發生什麼? –
這將是一個稍後的腳本位,我將刪除月份範圍以外的部分。 –