VBA连接字符串与日期

时间:2017-06-27 21:01:31

标签: excel vba excel-vba

我正在尝试构建一个子来保存我的excel工作表,其时间戳保存时,我根本不是VBA经验,而且错误让我认为我应该将Datetime.now定义为变量,但即便如此如果我做得对,那就行不通了。

Sub SaveToDir()
ActiveWorkbook.SaveAs ("T:\BRojas\test2" & Text(DateTime.Now()) & ".xlsx")

End Sub

我的错误说

Compile error: Sub or Function not defined

感谢。

2 个答案:

答案 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")