トップページ » 【Excel VBA】ファイルを開いた時に実行するVBA(マクロ)の関数を作成する

【Excel VBA】ファイルを開いた時に実行するVBA(マクロ)の関数を作成する

Excelファイルを開いた時に実行するVBA(マクロ)の関数について説明する。
ファイルを開いた時に実行できる関数は、以下の通り。
 1.ThisWorkbookモジュールのWorkbook_Open関数を利用する。
  →標準で用意されているワークブック用関数
 2.標準モジュールにAuto_Open関数を利用する。

上記の関数は、以下のような場合に利用する。
 1.ファイルを開いた時に値の初期化を行う場合
 2.ファイルを開いた時にフォームを自動的に表示する場合
 3.VBAのみ記述するようなファイルを作成する場合

以下、サンプル。


【1.ThisWorkbookモジュールのWorkbook_Open関数を利用する】

《事前準備》
1.コードエディタを開く。
 ・[Alt]キー+[F11]キーを押す。
 ・メニューバーの[表示]-[ツールバー]-[Visual Basic]を選択する。
2.ThisWorkbookモジュールを選択する。

《コード》
Private Sub Workbook_Open()
 MsgBox "開いたよ", vbOKOnly, "通知"
End Sub

※Workbook_Open関数は、Subステートメントでなければならない。
 (Functionステートメントは、指定できない)


【2.標準モジュールにAuto_Open関数を利用する】

《事前準備》
1.コードエディタを開く。
 ・[Alt]キー+[F11]キーを押す。
 ・メニューバーの[表示]-[ツールバー]-[Visual Basic]を選択する。
2.標準モジュールを作成する。
 ・メニューバーの[挿入]-[標準モジュール]を選択する。
3.作成した標準モジュールに「Auto_Open」という名前の関数を作成する。

《コード》
Sub Auto_Open()
 MsgBox "ファイルを開きました", vbOKOnly, "通知"
End Sub

Auto_Open関数は、Functionステートメントでも良い。

Function Auto_Open() As Integer
 MsgBox "ファイルを開きました", vbOKOnly, "通知"
 Auto_Open = 1
End Sub

【補足事項】
・他の実行ファイルと連動させた場合でも、ファイルを開くだけでコードが実行される。
 →思わぬ動作を引き起こさないよう、注意する必要がある。
・関数名の大文字/小文字は関係ない。
・WordやAccessにも同じような機能を持つ関数があるが、同じ名称ではないので、注意が必要。
 ・「【Word VBA】ファイルを開いた時に実行するVBA(マクロ)の関数を作成する」を参照。
 ・「【Access VBA】ファイルを開いた時に実行するVBA(マクロ)の関数を作成する」を参照。

【参考サイト】
・Microsoft サポートオンライン
 「Excel の起動時にマクロを実行する


akf0akf0  at 19:36
トラックバックURL
コメントを書く




情報を記憶: 評価:  顔   星