用于编辑excel文件中的多个链接的宏

时间:2013-12-18 12:35:19

标签: excel-vba vba excel

您好我正在使用excel工作簿,其中包含链接到此工作簿的30个文件。每个月这30个文件都会根据当前月份重命名并保存在当前月份文件夹中。现在我必须使用这30个链接手动更新工作簿。我们可以在宏的帮助下通过替换旧链接自动更新这30个链接。

1 个答案:

答案 0 :(得分:0)

mehow是正确的;对你的问题唯一可能的答案是“是的,这是可能的。”

这不是一个答案,只是为了证明它是可能的并且给你一个开始。您的问题几乎肯定会被关闭或暂停。尝试根据我的代码创建宏,然后在必要时返回特定问题。

我的扩展名为“xls”,因为我仍然在用于创建此答案的计算机上使用Excel 2003。如果您使用的是更高版本,则您的扩展程序将为“xlsm”或“xlsx”。

我有三本工作簿:“Master”,“Dept 1”,“Dept 2”。我使用变量来保存工作簿“Dept 1”和“Dept 2”的名称。您可能需要在名称中包含源工作簿的路径。我使用了变量,因此可以轻松更改名称。也许它们可以设置为基于当前月份的表达式:

Wbook1 = Format(Now(), "yyyy-mmmm") & ".xls"

将Wbook1设置为“2013-December.xls”。

Dim LastMonth As Date
LastMonth = DateSerial(Year(Now()), Month(Now()) - 1, Day(Now()))
Wbook1 = Format(LastMonth, "yyyy-mmmm") & ".xls"

将Wbook1设置为“2013-November.xls”。

follow宏将当前工作簿(“Master”)的“Sheet1”中的两个单元格设置为其他工作簿中的单元格值。

Sub Try()

  Dim Wbook1 As String
  Dim Wbook2 As String

  Wbook1 = "Dept 1.xls"
  Wbook2 = "Dept 2.xls"

  With Worksheets("Sheet1")

    .Range("H18").Value = "='[" & Wbook1 & "]Sheet2'!D6"
    .Range("H19").Value = "='[" & Wbook2 & "]Sheet3'!D9"

  End With

End Sub

对第一条评论的回复

对你所尝试的内容的模糊描述意味着我尽可能多地向你提供了信息。不要尝试更好的描述,因为这不是某人会根据详细规范创建完整解决方案的网站类型。

我提供的宏显示了如何创建从其他两个工作簿复制值的链接。我使用了我能想到的最简单的代码,因此您应该能够根据自己的需要进行调整。

根据我的代码,在主工作簿中创建一个宏,从一个源工作簿创建一个链接。我只是从源工作簿中复制了值。也许你想要一个包含两个或更多值的表达式。尝试创建该表达式。也许您希望在主工作簿中搜索包含“[2013-November.xls]”的公式,并将每个出现的内容替换为“[2013-December.xls]”。试试吧。

将您的需求分解为小步骤,并尝试一步一步解决。如果您的宏没有达到预期的效果,并且您无法确定原因,请回过头来看看它的作用以及您希望它做什么,并且您可能会得到一个实例答案,因为这是该网站的专长