プロが教えるわが家の防犯対策術!

下記の2つのコードをご覧ください
マクロはブック.xlsmに保存しています。

実行すると、同じ効果【コピーするだけ】が得られます
コードの違いは、シートまで指定か、ブックまで指定かの違いです

ブックまで指定しなくても、動くので、コードを短くする為に
シートまでの指定で良い という認識であってますか?




【コードS】

Sub コピー()

Worksheets("テンプレ").Range("A1:A6").Copy


End Sub


【コードB】

Sub コピー()

Workbooks("ブック.xlsm").Worksheets("テンプレ").Range("A1:A6").Copy


End Sub

A 回答 (3件)

こんにちは



ブックを省略した場合は、対象は ActiveWorkbook として解釈されます。
シートも省略した場合は、対象は ActiveSheet として解釈されます。

ですので、自身のブックだけを扱うような処理であれば、ブックの指定を省略しても問題はないでしょう。
ActiveSheet だけで処理が完結するような内容であれば、シートの指定も省略することが可能です。
    • good
    • 1

Range("A1:A6").Copy


だけでも同じ動きをします。
その都度ActiveSheetがどのブックのどのシートなのかをちゃんと把握しておく必要がありますけど。
    • good
    • 1

はい、そのブック内で完結しているコードであれば、どちらでも構いません。


プロがブックまで指定するのを習慣にしているのは、色々なブックでの処理をするからなので、真似する必要はありません。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A