我想將sheet1的一個單元格(D1)複製到所有工作簿其他工作表的其他工作表的單元格(D1)(我正在這裏循環查看文件,工作表數量會發生變化)。VBA從一張紙複製/粘貼到所有其他
運行下面的代碼時,行「ActiveSheet.Paste」給我以下錯誤:「運行時錯誤'10004':Worksheet類的粘貼方法失敗」。
這裏是有問題的代碼:
'copy MSA code to sheets!=1
Sub MSAallSheets(wb As Workbook)
With wb
Range("D1").Copy
For Each ws In wb.Worksheets
If ws.Name <> "Page 1" Then
ws.Activate
ws.Range("D1").Select
ActiveSheet.Paste
End If
Next
End With
End Sub
在情況下,它可能是必要的,這是我如何通過文件中定義我的循環:
Dim Filename, Pathname As String
Dim wb As Workbook
Pathname = "C:\Users\julia.anderson\Documents\HMDA\test\"
Filename = Dir(Pathname & "*.xlsx")
Do While Filename <> ""
Set wb = Workbooks.Open(Pathname & Filename)
DoWork wb
Delete wb
MSAallSheets wb
wb.Close SaveChanges:=True
Filename = Dir()
Loop
End Sub
建議將是最受歡迎的!
謝謝。
歡迎來到SO!只是一個提示:'With wb'塊沒有用處和混淆,你沒有使用與你一起使用的對象變量,刪除它只會提高可讀性。並且隨時修復你的縮進,我試圖編輯它,但是我的編輯被拒絕,因爲「這個編輯不正確,或者試圖回覆或評論現有的文章。」,一個邪惡的獨角獸說*真的*知道他的東西。所以我想我會留下評論然後... –