「エクセルVBAの基本を覚えたい!」
「VBAのモジュールってどう作るの?」
この記事では、このような疑問にお答えします。
この記事で解説する内容は、モジュール作成方法、プロシージャ作成方法です。
まだ、VBAの開発環境の構築をしていない方は、こちらのリンクより開発環境の構築方法をご確認ください。
※当サイトではVBAの基本を解説しています。
もし、VBAの基本が分からなければ、下記リンクより基礎を学習できます。
②VBAのモジュールを作成する方法を解説(本記事)
⑦Excelでバックテストする方法。【VBAによるツール開発】
はじめましてマンモスです。
プログラミング知識ゼロからシステムトレードを自作できるようになった経験を活かし、この記事を書いてます。
VBAのモジュールを作成する方法
プログラムを作成するためには、「プロシージャ」を作る必要があります。
プロシージャとは実行したいプログラムをひとまとめにしたものです。
例えば平均を求めるプログラムを作るとします。
そのためには
①平均を求めるデータを取得する
②全てのデータを合計する
③合計をデータ数で割る
以上の3つの処理が必要になります。
これら3つの処理をひとまとめにしたものがプロシージャとお考えください。
プロシージャはモジュールにコードを記載します。
モジュールとはプロシージャを管理する単位であり、1つのモジュールに複数のプロシージャを記載することもできます。
ぷろしーじゃ?もじゅーる??
あまり深く考えなくても、モジュールはプログラムを書く場所、プロシージャはプログラム1個分くらいの認識で問題ありません。
モジュールの作り方
ツールバーより「挿入」→「標準モジュールの順」でクリックします。
これで標準モジュールフォルダ内にModule1が作成されました。
※汎用的なプログラムは標準モジュールを使用しますが、ブックやシートに対する特別な命令は「This Workbook」や「Sheet1」などの各シートにプロシージャを作成します。
今の段階では標準モジュールが作れればOKです。
プロシージャの構文
作成したモジュールにプロシージャを作ってみましょう。
プロシージャの構文は以下のようになります。
プロシージャ名は次の「命名規則」にそったものならなんでもでOKです。
‘ここに実際の処理を記載する。
End sub
VBAの命名規則
プロシージャ名は任意の値でOKです。
使える文字→英数字(全角/半角)、日本語(漢字含む)、アンダーバー(_)
上記に注意して「sub プロシージャ名(任意の名前)」とだけコードを書いてみましょう。
※subとプロシージャ名の間に空白があることに注意して下さい。
この空白は必須です。
すると、プロシージャ名の横に「()」と「End sub」が自動で表示されます。
また、プロシージャ名以外は小文字/大文字どちらで入力しても自動で適切な形に変換されます。
これはVBEの入力アシスト機能によるものです。
命名規則覚えられない・・・・
心配無用!!
間違っていればVBEでエラーがでるためすぐに分かります。
とりあえず慣れるまでは「なんかルールがある」程度の認識でOKです。
まとめ
プログラムを作成するには、
①モジュールを作成する。
②プロシージャを作成する。
この2つを準備すれば、次はいよいよ実際の処理の記述になります。