次のコードは、さまざまなブック間でコピーしてペーストします。私はなぜそれが "Source.Activate"と "Master.Activate"行なしで動作しないのか分かりませんか?つまり、最初に宣言され、設定されたにもかかわらず、ワークブックのアクティブ化が必要な理由は何ですか?事前にブックをアクティブ化せずにコピーして貼り付ける
Dim Source As Worksheet
Set Source = Workbooks("Source.xlsx").Worksheets("Settlements")
Dim Master As Worksheet
Set Master = Workbooks("Master.xlsm").Worksheets(Sheets.Count)
Source.Activate '???
For Each cell In Source.Columns("M").Cells
If cell <> "" Then
Master.Activate '???
For Each cell2 In Master.Columns("J").Cells
If cell2 <> "" Then
If cell = cell2 Then
cell2.Offset(0, 9).Value = cell.Offset(0, -2).Value
cell2.Offset(0, 8).Value = cell.Offset(0, -8).Value
End If
End If
Next cell2
End If
Next cell
おかげで、 Bartek
必要はありません。あなたはそれが 'Activate'行なしでは動作しないと言っていますか?それは非常に厄介に見えます - あなたは100万個の細胞をループしています。 – SJR
はい、「有効化」せずに動作しません。 – barciewicz
どうしますか?エラー? – SJR