我正在嘗試從主檔案復制資料,然后將其原封不動地粘貼到已經在回圈中打開的作業簿中。它一直卡在粗體部分。希望有人可以提供幫助。TIA
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
uj5u.com熱心網友回復:
正如所評論的,看起來您缺少作業表的回圈。目前,您只回圈瀏覽作業簿,而不是作業表。
添加了一個回圈來解決這個問題。代碼遍歷每個打開的作業簿,檢查名稱。If Name <> "Master File.xlsb",然后繼續下一個回圈。第二個回圈遍歷當前作業簿中的每個作業表,并檢查它的名稱是否等于"FX Rates",如果是,則粘貼復制的選擇并繼續回圈。
然而,有更多的 VBA 方式來實作相同的目標,但這回答了你的問題。它編譯并運行得很好。
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
For Each WS In WB.Worksheets
If WS.Name = "FX Rates" Then
'Paste FX data from Master
WS.Range("A1").PasteSpecial xlPasteValues
End If
Next WS
End If
Next WB
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/487658.html
