マクロの書き方標準モジュール内にSubプロシージャは複数書けるのか

お知らせこの記事は初心者用マクロ学習講座|勉強範囲を限定&12本の動画で早く効果を実感の関連記事です

プロシージャとは何か

作業をまとめた1つのプログラムの事をプロシージャと言います。

Sub から書き始めて End Sub までが1つのプロシージャという事になります。SubとEnd Subの間に書かれているコードが1つの命令として実行されるという建付けです。

実はプロシージャには色々な種類があります。Subの前にはPublicというワードが居て省略されているのですが最初はSubから書き出すSubプロシージャだけを覚えてください。

前回記事では標準モジュールにコードを書いてくださいと説明しました。そこは理解出来たのですが1つ疑問点を積み残していましたね。

標準モジュールは複数のコードを用意出来るのか?」という課題でした。これは先程勉強したプロシージャを使って書き換えてみましょう。

マクロ
マクロ

「標準モジュールは複数のプロシージャを持てるのか?」となります

まずはこの疑問点をクリアにしていきましょう。

続いてプロシージャを用意するにあたって少し気を付けないといけない事がありますので一緒に説明する事にします。最後に役立つワンポイント情報を用意しています。

記事の難易度

まだ1ですね。次から少し難しくなります。

記事の難易度
易しい
1
2
3
4
5
難しい

オンラインミーティング

私オンラインでVBAの講師をしております。基本的には初心者様向けですが配列等中級者様向けにも勉強いただくためのデータを用意しています。

内容によってはミーティング開催も可能です。まずは問い合わせをお願いします。

全国可【リモートワークで効果大】オンラインでExcelVBAを習得してみませんか?おすすめ勉強法を紹介します (VBAで定時に帰ろう) さいたまのWindows総合の生徒募集・教室・スクールの広告掲示板|ジモティー
【ジモティー】「VBAとは何ですか?マクロとは何が違うのですか?」という質問をいただくことがあります。ざっくり説明しますとVBAは言語の名前です。Micr… (VBAで定時に帰ろう) さいたまのWindows総合の生徒募集・教室・スクールの...

前回記事

前の記事なぜ標準モジュールにコードを書くのかVBEを使って説明します

標準モジュールにコードを書く理由を説明しています

この記事を読むとわかる事

プロシージャとは何か?が分かります。

記事からわかる事
  1. プロシージャとは何か?
  2. 標準モジュールは複数のプロシージャを持てるのか?
  3. プロシージャ名を付ける際の注意点
開発環境の話が続きます

マクロ

標準モジュールの中に複数のプロシージャを持つことが出来るのか?、続ていプロシージャの命名規則を少しだけ紹介します。

2分動画

動画はシリーズ内の動画と合わせて500円で販売しています。詳しくはこちらをご覧ください。

マクロ
マクロ

今回はプロシージャ関連について解説しています

プロシージャとは何かが分かる動画を用意しました

動画の中からさらに要点を絞って解説していきます。

プロシージャとは

作業をまとめた1つのプログラムの事をプロシージャと呼んでいます。コードを用いて具体的に説明しますとSubから始まりEnd Subまでを1つのプロシージャと呼びます。

回答:プロシージャとは

作業をまとめた1つのプログラム(命令)の事です

マクロを実行する方法は色々ありますが基本的には全てプロシージャ単位でマクロが実行されます。

  • VBEの実行タブの「マクロの実行」
  • VBEのデバッグタブの「ステップイン」
  • ボタンを用意してボタンを押す事でマクロを実行

もう少し勉強していくと例外が出てきますが最初のうちは基本的に1回の実行では1つのプロシージャに書かれているコードが実行されるという考えを持っておいて下さい。

標準モジュールは複数のプロシージャを持てるのか?

持てます。ただし同じ名前は使えません。VBE内で同じ名前で置いておく分にはエラーにはならないのですがマクロ実行時にエラーになります。

回答:標準モジュールは複数のプロシージャを持てるのか?

可能です

名前が同じプロシージャが存在するとどのプロシージャを実行したら良いのか分からない・・・という類のエラーが出ます。

以下画像をご覧ください。プロシージャ名は似ていますが変えています。これならエラーは出ません。

標準モジュールには複数のプロシージャを持てます

最初のうちは1つのエクセルブックに1つの標準モジュールを用意してその中に複数のプロシージャを持つようにしましょう。

1つのモジュール内のコードの量は決まっているので何個でもプロシージャを持つことが出来るというわけではないのですが初心者の段階では絶対に到達しないコード量ですので気にしなくて大丈夫です。

プロシージャの命名について

プロシージャ名を付ける時も少しだけ決まりがあります。動画の中では以下2つはエラーになる事例を提示させてもらいました。

  • 書き始めが数値はエラーになる
  • ハイフンを使うとエラーになる

ひとまずこれぐらいを気を付けておけば大丈夫です。

回答:プロシージャ名を付ける際の注意点

何点かある (詳細は動画で解説)

ワンポイントアドバイス

基本的にコードは小文字で書きましょう

理由は「エラーチェックが出来るから」です。小文字でコードを書いて文末でエンターを押下するとコードが合っている場合は必要な文字が自動で大文字に変換されます。

今回勉強しましたSubプロシージャも小文字でsub・・・と書き始めましょう。

subのあとに1つスペースを入れてプロシージャ名を書き文末でエンターを押下した際エラーが出ず問題無く動くコードだと認識された際は以下の様な変化をします。

  • sub という文字が Sub に変わる
  • プロシージャ名の後ろに()が入力される
  • End Subが表示される
コードは小文字で書くと必要に応じて自動変換されます

このようにコードが自動変換されます。これを逆手に取ってエラーチェックとして使います。コードが自動変換されたら「間違ってない」と確認する為にあえて小文字でコードを書きます。

まとめ

プロシージャについて説明しました。プロシージャなんて使った事無い言葉ですよね。プログラミングをやってないと出会わないキーワードかもしれません。

私もVBAを勉強して始めて覚えたワードでした。使い慣れないと変な感じがしますが慣れてください。

本日勉強したこと
  1. プロシージャは1つのプログラム
  2. 標準モジュールは複数のプロシージャを持てる
  3. プロシージャ名は少しだけ決まりがある
  4. コードはあえて小文字で書く
コードは小文字で書こう

マクロ

あと1回だけ座学を設けます。語学を勉強するうえで文法という概念がありますよね。私は嫌いな要素ですが必要な方も居る分野です。

コードを書く前に少しだけ文法の話をします。そこで使った事例をもとにして実際にコードを書いて説明していきます。

次がマクロを理解する中で1番難解な要素です。先に申しあげておきますが1回では分からないので理解出来なくても諦めないでください。ふわっと理解するぐらいの気持ちで臨みましょう。

タイトルとURLをコピーしました