AccessでVBA入門者向けのガイドをお探しですね。

広告

Access VBAの基礎!モジュールとプロシージャを分かりやすく解説

Accessを使いこなしていくと、マクロやクエリだけでは手が届かない複雑な処理を自動化したくなってきますよね。

そんなとき頼りになるのが「Access VBA」です。

でも、いざVBAを始めようとすると、「標準モジュール」だの「プロシージャ」だのと聞き慣れない言葉が次々と出てきて、「一体どこに何を書けばいいの?」と混乱してしまう方も多いんです。

この記事では、Access VBA初心者の方に向けて、プログラムを書くための土台となる標準モジュールの役割と、実際の処理を書き込むプロシージャの基礎について、できるだけ分かりやすく説明していきます。

専門用語の意味だけじゃなく、実際にどうやって作るのか、どうコードを書けばいいのかまで、順を追って丁寧にお伝えしますね。

この記事を読めば、迷わずVBAの第一歩を踏み出せるはずです。

まずは基本の仕組みをしっかり理解して、Accessの可能性をもっと広げていきましょう!

Access VBAの基礎!モジュールとプロシージャの関係性

Access VBAを学び始めて最初にぶつかる壁が、「モジュール」と「プロシージャ」という言葉の意味と、その関係性です。

この2つをきちんと理解しないままコードを書き始めてしまうと、後でエラーが出たときに原因が分からなくて困ってしまいます。

分かりやすく例えるなら、**モジュールはプログラムを書き込むための「ノート(ファイル)」**で、**プロシージャはそのノートの中に書かれた「個別の作業手順(ページや章)」**のようなものです。

1つのモジュール(ノート)の中には、複数のプロシージャ(作業手順)を書くことができます。

例えば、「データをインポートするプロシージャ」と「データを集計するプロシージャ」を同じモジュール内に作っておけば、関連する処理をまとめて管理しやすくなるんですね。

Accessのデータベースファイルの中には、こうしたモジュールをいくつも作れるので、機能や目的ごとにモジュールを分けてプロシージャを整理するのが一般的なやり方です。

また、モジュールにはいくつか種類があるんですが、初心者の方がまず覚えるべきなのが「標準モジュール」です。

標準モジュールに書いたプロシージャは、Access内のどのフォームやレポートからでも呼び出して使えるという大きな特徴があります。

だから、特定の画面に縛られない汎用的な処理を作りたいときには、この標準モジュールとプロシージャの組み合わせを理解することがとても重要になってくるんです。

標準モジュールの役割とAccessでの作成方法

標準モジュールは、Access全体で共有したいプログラムのコードを保存しておくための専用スペースです。

Accessには他にも、特定のフォームやレポートの裏側で動く「クラスモジュール(フォームモジュールなど)」というものがあります。

フォームのボタンを押したときの処理なんかはフォームモジュールに書くことが多いんですが、これらはそのフォームが開いているときしか使えません。

一方で、標準モジュールに書いたコードは、マクロから呼び出したり、複数のフォームで使い回したりできるので、とっても便利なんです。

標準モジュールを実際に作るには、まずVBAのコードを書いたり編集したりするための専用画面「VBE(Visual Basic Editor)」を開く必要があります。

作成手順は全然難しくありません。

以下の流れでやってみましょう。

1. Accessの画面上部にある「データベースツール」タブを開く
2. メニューの左端にある「Visual Basic」ボタンをクリックしてVBEを起動する
3. VBEの画面上部メニューから「挿入」を選んで、「標準モジュール」をクリックする

この手順を踏むと、VBEの左側にあるプロジェクトウィンドウに「Module1」という名前の標準モジュールが追加されて、右側に真っ白なコード入力画面が表示されます。

この白い画面こそが、あなたがVBAのプログラムを自由に書いていくキャンバスになります。

初心者の方は、まずこの手順を何度か繰り返して、VBEの画面を開いて標準モジュールを追加する、という一連の操作に慣れることから始めてみてください。

コードを書く前の準備段階をスムーズにできるようになることが、VBA上達への近道ですよ。

2種類のプロシージャ(SubとFunction)の違いと書き方

標準モジュールを用意できたら、次はその中にプロシージャを書いていきます。

Access VBAのプロシージャには主に2つの種類があって、「Subプロシージャ」と「Functionプロシージャ」と呼ばれています。

この2つは役割がはっきり違うので、目的に応じて使い分ける必要があります。

– **Subプロシージャ**:一連の処理を実行するだけで、結果を返さないもの
– **Functionプロシージャ**:処理を実行した後に、計算結果などを呼び出し元に返すもの

Subプロシージャは、データの追加や削除、メッセージボックスの表示など、特定の動作を単独で完結させたいときに使います。

書き方の基本は、「Sub プロシージャ名()」で始まって、「End Sub」で終わるというルールです。

この「Sub」と「End Sub」の間に、実行したい命令文を順番に書いていきます。

マクロから直接呼び出して実行させたい処理のほとんどは、このSubプロシージャを使って作ることになります。

一方のFunctionプロシージャは、渡されたデータをもとに複雑な計算をして、その結果を受け取りたいときに使います。

例えば、消費税を計算して金額を返すような独自の関数を作りたいときに便利です。

こちらは「Function プロシージャ名()」で始まって、「End Function」で終わる構文になります。

初心者のうちは、まず処理を実行して完結するSubプロシージャから書き始めて、変数の扱いやプログラムの基礎に慣れてきた段階でFunctionプロシージャに挑戦する、というステップを踏むと無理なく学習を進められますよ。

初心者が覚えておきたいVBA実行と保存の注意点

標準モジュールにプロシージャを書いたら、ちゃんと動くかどうかを実行して確認する必要があります。

VBEの画面でコードを書いた後、カーソルを実行したいプロシージャ(SubからEnd Subの間)に合わせた状態で、画面上部の再生ボタン(実行ボタン)を押すか、キーボードの「F5」キーを押せばプログラムを動かせます。

最初は簡単なメッセージを表示するだけのコードを書いて、思った通りに動くかを確かめるテストを繰り返すと安心です。

また、VBAを書いていく上で初心者の方が陥りやすいのが、エラーが出たときのパニックと、保存に関するトラブルです。

プログラムの文法が間違っていると、文字が赤く表示されたり、実行時に警告メッセージが出たりします。

そんなときは焦らずに、メッセージの内容を読んで、スペルミスや記号の抜けがないかを確認してみてください。

VBEには「デバッグ」という機能があって、コードを1行ずつ実行してどこでエラーが起きているかを検証することもできるので、少しずつ使い方を覚えていくことをおすすめします。

最後に、VBAのコードを追加したAccessファイルを保存するときの注意点をお伝えしますね。

AccessでマクロやVBAを含むデータベースを使う場合、セキュリティ設定によっては次回ファイルを開いたときにコードが実行できなくなることがあります。

そのため、ファイルの保存場所を「信頼できる場所」として設定しておくか、ファイルを開くときに表示される「コンテンツの有効化」ボタンを必ず押すようにしてください。

こうした環境設定や保存の基本をしっかり押さえておけば、せっかく書いたVBAが動かない!というストレスを未然に防げて、快適に開発を進められますよ。

広告