我正在尝试构建一个子来保存我的excel工作表,其时间戳保存时,我根本不是VBA经验,而且错误让我认为我应该将Datetime.now定义为变量,但即便如此如果我做得对,那就行不通了。
Sub SaveToDir()
ActiveWorkbook.SaveAs ("T:\BRojas\test2" & Text(DateTime.Now()) & ".xlsx")
End Sub
我的错误说
Compile error: Sub or Function not defined
感谢。
答案 0 :(得分:3)
Text
是Excel工作表函数。 VBA中的等价物是Format
。
所以你想使用:
ActiveWorkbook.SaveAs "T:\AWilliams\test2" & Format(DateTime.Now(), "yyyymmdd-hhmmss") & ".xlsx"
使用您喜欢的任何日期/时间格式而不是" yyyymmdd-hhmmss"我上面用的。但不要包含斜杠(/
)或冒号(:
),因为它们在文件名中无效。
答案 1 :(得分:0)
正如Sorceri评论的那样,这应该有效,但你可能仍需要在时间戳中替换Colons才能保存。
尝试
ActiveWorkbook.SaveAs ("T:\AWilliams\test2" & replace(CStr(DateTime.Now()),":","-") & ".xlsx")