我正试图从主控文件复制数据,然后将其粘贴到已循环打开的工作簿中。
它会卡在
If WS.Name = WB.Sheets("FX Rates") Then
Sub Update_Files()
Dim WB As Workbook
Dim WS As Worksheet
Dim Master As Workbook
Set Master = ThisWorkbook
ThisWorkbook.Sheets("FX").Range("A1:I148").Select
Selection.Copy
For Each WB In Application.Workbooks
If WB.Name <> "Master File.xlsb" Then
If WS.Name = WB.Sheets("FX Rates") Then
'Paste FX data from Master
Range("A1").PasteSpecial xlpastevalues
End If
End If
Next WB
1条答案
按热度按时间qojgxg4l1#
如注解所示,看起来您的工作表缺少一个循环。目前,您只循环工作簿,而不是工作表。
添加了一个循环来解决这个问题。代码循环通过每个打开的工作簿,检查名称.
If Name <> "Master File.xlsb"
,然后继续下一个循环。第二个循环迭代当前工作簿中的每个工作表,并检查其名称是否等于"FX Rates"
,如果等于,则粘贴复制的选定内容并继续循环。然而,有更多类似于VBA的方法来实现同样的事情,但这回答了你的问题。它编译和运行得很好。