我有 20 个 excel 工作簿 - 除了它们使用不同的数据之外,每个都相同。我经常需要改进和更新公式,然后依次从源工作簿复制到其他每个工作簿。
我使用 VBA 记录一个宏(我知道这不是那么优雅)来复制和粘贴所需的更改。这很好,但是必须复制宏 20 次,每次都更改目标工作簿名称,这很乏味。我首选的解决方案是通过设置循环并依次为每个目标调用宏来自动化它。
我是宏的新手,并且正在努力使用正确的语法。
我尝试了以下方法,但它不起作用。我收到“未设置对象变量”错误消息,我不太明白也无法解决。
Sub New()
'
Dim i As Integer
Dim target As Workbook
target(1) = "Workbook1.xlsx"
target(2) = "Workbook2.xlsx"
'etc for the other countries
For i = 1 To 20
Update
Next i
End Sub
Sub Update()
' Update macro copies updated cells from workbook Country A.xlsx to target workbook
Windows("Country A.xlsx").Activate
Sheets("Tax").Select
Rows("17:26").Select
Selection.Copy
Windows(target(i)).Activate
Sheets("Tax").Select
Range("A17").Select
ActiveSheet.Paste
' Etc for other changes required
End Sub
对我所缺少的任何帮助将不胜感激。