首页 > 解决方案 > VBA 动态链接到另一个文件

问题描述

我有 2 个电子表格。其中一个(目标文件)始终具有相同的名称,而另一个(源文件)具有不同的名称。在源文件的单元格 A1 中,我显示了源文件名。每次我保存新的源文件(使用新名称)时,我都必须转到 VBA 并更改名称,因此它指向正确的文件。

    Workbooks("Source 05-21.xlsm").Worksheets("Planner").Activate
With Sheets("Planner")
Workbooks.Open ("\\Target File.xlsb"), WriteResPassword:="Hyshndy*hs"
Workbooks("Source File.xlsb").Worksheets("Master").Activate

    Range("A500:E634").Select
    Selection.Copy
    ActiveWindow.SmallScroll Down:=111
    Range("C716").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Workbooks("Source File 05-21.xlsm").Worksheets("Planner").Activate

然后将更多数据从源文件复制到目标文件中。

我试过使用:

Filename = ThisWorkbook.Worksheets("Planner").Cells(1, 1).Value
Workbooks(Filename).Worksheets("Planner").Activate

但是,由于它使用了两个不同的文件,所以它不起作用。我希望能够而不是Source 05-21.xlsm链接到单元格 A1,因此我不必在每次文件名更改时更新代码。

我试图寻找解决方案,但是我无法解决,而且我的 excel/vba 知识有限。提前感谢您的帮助

标签: excelvbahyperlink

解决方案


经过 3 天的研究和尝试不同的解决方案,我终于设法做到了。我使用了暗淡选项。

Dim sLink As String
sLink = Range("A1").Value
Workbooks(sLink).Worksheets("Planner").Activate

推荐阅读