Excel VBA打开一个文件中更改date的文件
我有一个每天创build的Excel文件,命名为"three day outlook 7-7-2014
。date每天都在变化,但是文件每天都存储在一个文件夹中,所以我有多个文件命名为"three day outlook"
但用不同的date。
我正在尝试使用VBA代码按date打开某个文件,这些文件是由另一个Excel工作表上的dateselectselect的。 我已经尝试了以下内容:
Workbooks.Open Filename:=("C:\Users\sdfe\Documents\three day outlook" & Cells(D3).xlsx)
尝试以下操作:
Workbooks.Open Filename:="C:\Users\sdfe\Documents\three day outlook " & Range("D3") & ".xlsx"
根据你的问题,“outlook”和date之间有一个空格。 我假设date格式正确的格式在表格上。 实际上,最好是显示一个消息框,其中包含要打开的文件的path。 就像是:
MsgBox """C:\Users\sdfe\Documents\three day outlook " & Range("D3") & ".xlsx"""
并确保该string在使用前已正确构build。
更新 (在您的评论下面):
由于你的date格式为“7/7/2014”,而不是“7-7-2014”,所以你可以做几件事:
-
将date为(D3)的单元格设置为文本格式,以便按照您的喜好进行input,并且不会根据date格式进行更改。
-
使用自定义格式的
dm-yyyy
格式化date为(D3)的单元格,然后在上面而不是Range("D3")
使用Range("D3").Text
。 -
保持单元格格式为Date (如我所假定的),然后在上面,而不是
Range("D3")
使用Format(Range("D3"), "dm-yyyy")
。
使用格式化function,以便您始终知道date会出现什么样的。 每个人都将在他们的电脑上设置不同的date格式。 而且你永远不知道计算机只是把date作为一个数字而不是一个date。