| |
>rangeでセル範囲を選択したり、コピー等を動かそうとすると
コピー等を動かす、というのはどのような処理なのか分かりませんが、みんながよく
間違えることとして
Sheets("Sheet2").Range(Cells(1, 2), Cells(10, 3)).Copy
などという書き方があります。これは
Sheets("Sheet2").Activate
Range(Cells(1, 2), Cells(10, 3)).Copy
ならば問題ありませんが、実際は、これさえもシートを開くことなく
With Sheets("Sheet2")
.Range(.Cells(1, 2), .Cells(10, 3)).Copy
などと出来ますから、殆ど Active や Select の必要がない、ということに
なります。強いて今、思いついた事例を挙げるとすれば、印刷の総ページ数を
求めるとき
Dim AllP As Integer
Sheets("Sheet2").Activate
AllP = Application.ExecuteExcel4Macro("Get.Document(50)")
などと目的のシートを開いてからでないと、Excel4マクロ関数が使えないという
ぐらいかな・・。
|
|