シート 1 の 1 つのセル (D1) を、ワークブックの他のすべてのシートのセル (D1) にコピーしようとしています (ここでファイルをループしており、ワークシートの数はさまざまです)。
以下のコードを実行すると、「ActiveSheet.Paste」の行で次のエラーが表示されます:「実行時エラー '10004': ワークシート クラスの貼り付けメソッドに失敗しました」。
問題のあるコードは次のとおりです。
'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
提案は大歓迎です!
ありがとうございました。