事務職のためのExcelVBA入門講座 > ExcelVBAの基礎知識 > ブックやシートを指定しなかった時の動作

ExcelVBAの基礎知識

ブックやシートを指定しなかった時の動作

ブックやシートを指定しないでセルなどのオブジェクトを捜査しようとした場合、動作はそのマクロが書かれている場所によって異なります。

マクロが標準モジュールに書かれていた場合は、
アクティブのブック・シートのオブジェクトに対して実行されます。

下記のコードは、A1セルに「TEST」と入力するマクロです。

サンプルコード



Sub ブックやシートを指定しないときのテスト()

Cells(1, 1) = "TEST"

End Sub

このマクロが標準モジュールに書かれている場合、

Book1のSheet1がアクティブならSheet1のA1セル、
Sheet2がアクティブならSheet2のA1セルに記入されます。

Boo2がアクティブだったらBook2のアクティブシートの
A1セルに記入されます。


マクロは標準モジュール以外にも書くことができます。
それは、WorksheetやWorkbookオブジェクト内です。

上記サンプルがWorksheetオブジェクト内に書かれていた場合、
マクロが書かれたシートのA1セルに記入されます。

Workbookオブジェクト内に書かれていた場合、
そのブックのアクティブシートのA1セルに記入されます。


アクティブセルというのは、実行する人によって変わるものです。

意図しない処理の原因になりますので、ブックやシートは省略せず
記述することを強くおすすめします。

<<変数の値を確認しながらデバッグする | 事務職のためのExcelVBA入門講座トップへ | 最終行を取得する関数>>

この記事へのコメント

コメントを書く

お名前
メールアドレス
URL
コメント
[必須入力]
認証コード
[必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック


Powered by Seesaa
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。