用新构建的工作簿链接vba替换工作簿链接

时间:2018-07-06 10:43:35

标签: excel-vba vba excel

我正在尝试更改excel工作簿链接,但是通过使用单元格中的日期构造一个新的工作簿链接(命名约定始终相同,只是日期会更改)

我知道要更改Excel工作簿链接(使用VBA),我要做的就是:

ActiveWorkbook.ChangeLink "c:\excel\book1.xls", _ 
 "c:\excel\book2.xls", xlExcelLinks

但是,如果我想使用单元格中的不同数字来构建新的工作簿链接怎么办?

这是我一直在尝试的:

ActiveWorkbook.ChangeLink "part of file name" & Range("N2") & ".xlsx"", _
 "part of file name" & Range("N4") & ".xlsx"", xlExcelLinks

范围N2是前一周的日期,范围N4是当前周的日期。

但是,每当执行此操作时,都会收到以下消息“编译错误:语法错误”

关于我能做什么的任何想法?真的希望能够构造文件名,因为这意味着我可以自动执行很多操作...大声笑

在此先感谢您提供任何指导!

1 个答案:

答案 0 :(得分:0)

首先,如果要在字符串中包含",则必须将其加倍,因此:

ActiveWorkbook.ChangeLink """part of file name" & Range("N2") & ".xlsx""", _
 """part of file name" & Range("N4") & ".xlsx""", xlExcelLinks

这是您的错误原因

还应该引用.Value对象的Range属性,如果您使用的单元格包含日期,则最安全的方法是使用Format(Range("N4").Value, "yyyymmdd")