サイトについて      連絡先   検索

VBA 標準モジュール

はじめに

Excel VBA 標準モジュールを作成する方法を紹介します。

他のワークシートや標準モジュールなどのファイルから呼び出したい処理を定義します。

どこからでも呼び出せるので、同じコードを標準モジュールにまとめると再利用できて便利です。

標準モジュールの追加

VBE の「挿入」をクリックして [標準モジュール] をクリックします。

3

標準モジュールが追加されます。

4

コードの定義

ワークシートと同じように、変数や関数などなんでも定義できます。他のファイルから呼び出せるようにするには Public で宣言します。

標準モジュール1 のコード

' Public で宣言したものは他の標準モジュールやシートから呼び出せます。
Public モジュール変数 As String

Public Sub モジュール関数
    
End Sub

Sheet1 のコード

他のファイルから呼び出すには、モジュール名.変数のようにモジュール名を付けても変数だけでも呼び出せます。

Module1.モジュール変数 = "Tips"
モジュール変数 = "found"

Module1.モジュール関数
モジュール関数

一般的にはモジュール名を書くのが手間なので、付けないで呼び出します。

セルの操作に注意

標準モジュールの関数を実行したときに、どのワークシートに対して処理が行われるか注意してください。

次のコードはセル「A1」に Tipsfound を入力するコードです。では、どのワークシートのセルでしょうか。

Sub 実行()
    Range("A1").Value = "Tipsfound"
End Sub

Sheet1 に書かれたコードなら、必ず Sheet1 の A1 のセルに入力されます。

標準モジュールなら、Excel で選択中のワークシートのセルに対して行われます。

5

標準モジュールで必ず Sheet1 のセルに入力したいときは、次のようにワークシートを指定します。

Sub 実行()
    Sheets(1).Range("A1").Value = "Tipsfound"        ' 1 番目のワークシート
    Sheets("Sheet1").Range("A1").Value = "Tipsfound" ' Sheet1 という名前のワークシート
End Sub

関連ページ