別シートのセル範囲を指定する際のエラー対策

以下のような命令で、エラーが起きることはありませんか。

Worksheets(2).Range(Cells(2, 2), Cells(4, 4)).Value = "aaaa"

Worksheets(2) がアクティブのときは、問題ないですが、別シートがアクティブの時は、エラーになります。

解決策は、以下です。

With Worksheets(2)
    .Range(.Cells(2, 2), .Cells(4, 4)).Value = "aaaa"
End With

Range内の引数の Cells(2, 2) もきちんとワークシート指定しないと、「アクティブシートの Cells(2, 2) 」になってしまうため、エラーになります。

以下を参考にしています。

別シートのセル範囲を指定-Range(Worksheets(1).Cells(1, 1), Worksheets(1).Cells(2, 2))

Follow me!