不知道爲什麼我的「格式」沒有給我一個日期在我的文件名的末尾。我有參考中檢查「Visual Basic For Applications」。excel格式(日期,「yyyymmdd」)導致編譯錯誤
Dim dt As String
dt = Format(Date, "yyyymmdd")
MyFileName = Sheets("Order Summary (2)").Range("B2").Value & "_" & dt
我這個每次都遇到
不知道爲什麼我的「格式」沒有給我一個日期在我的文件名的末尾。我有參考中檢查「Visual Basic For Applications」。excel格式(日期,「yyyymmdd」)導致編譯錯誤
Dim dt As String
dt = Format(Date, "yyyymmdd")
MyFileName = Sheets("Order Summary (2)").Range("B2").Value & "_" & dt
我這個每次都遇到
由於@Sorceri評論,請使用Now
:
MyFileName = Sheets("Order Summary (2)").Range("B2") & VBA.Format(Now, "_yyyymmdd")
或者如果失敗了任何機會,也有Evaluate
選擇:
MyFileName = ['Order Summary (2)'!B2 & TEXT(NOW(), "_yyyymmdd")]
日期是一種類型,您需要給它一個實際日期而不是數據類型。所以:dt =格式(現在是「yyyymmdd」) – Sorceri
@Sorceri - Date是工作表上'= TODAY()'的VBA等價物。 @Matt,我可以發現你的代碼沒有錯;它對我來說運行良好(在字符串concatenatiopn之後對'Debug.Print MyFileName')。 – Jeeped
@Sorceri Date是VBA.DateTime類的一個屬性,它應該返回當前日期。我可以在即時窗格中輸入這個語句'?Format(Date,「yyyymmdd」)',並得到預期的結果:20170315. –