知っておくといい用語

ExcelVBAに出てくる用語説明(知ってなくても処理は作れる)

基本的な用語(知ってなくても処理は作れるけど解説が分からなくなる)

ブック
Excelファイル自体のこと、VBAはこれの要素の1つ

プロジェクト
ブックと同義、ブック1つにプロジェクトも1つ。これの下にモジュールがある

モジュール
標準・クラス・オブジェクト(ユーザーフォーム含む)がある

標準モジュール
通常処理作成はここに作成を行う、何個でも作成可能

クラスモジュール
クラス定義を行う、主にはコードの質向上に使う。

オブジェクトモジュール
オブジェクトとは物のことなので、ブック・シート・ユーザーフォームがある

ブック・シートモジュール
ブックモジュールはプロジェクト1つにつき1つ、シートモジュールは作成されたシートの数だけ自動的に作成される

ユーザーフォームモジュール
ユーザーフォームという各コントロールを使用してExcelとは別のウィンドウを作成する、システム作成まですると必須

プロシージャ
処理、これを作るのが仕事です。これが上記のモジュールのどこかに入ってプログラムとして実行されます。モジュール内に何個でも作れますが、ほどほどにしないとどこに何があるか分からなくなります

オブジェクト
前後しますが、セルやシート、図形やフォームのコントロール達。省略可能な場合が多く気づきにくいが、コードのほとんどはこのオブジェクトに対して処理を行っています

コレクション
オブジェクトやデータの集合体、まとめて処理を行ったりループ処理に使用することが多い

プロパティ
オブジェクトの情報です。セルの入力内容や書式設定も全てこれです。これに対して設定を変更したり、情報を取得して処理を行ったりします

メソッド
オブジェクトの動きです。セルのコピペやシートの作成削除がこれです。処理のほとんどが、このメソッドとプロパティの組み合わせで行っています

イベント
オブジェクトに備わっているもの。セル内容を変更・コマンドボタンをクリックなどユーザーが無意識に行う操作で発動するもの。ここにプロシージャを作って無意識下で処理の実行を行うことが可能になる

変数
特定のデータに名前を付けたもの。付けた名前は変わらなくてもデータは変わることの出来るもの

関数・引数
関数とはすでに作成された処理のことです。
VBAでも作成可能ですがそちらはユーザー定義関数と記載するので、関数と記載していた場合はVBA標準関数の事です
その関数が必要とする要素を引数(ひきすう)といいます
省略可能な場合が多いですが、最低1つはほとんどの関数は引数が必要です

定数(じょうすう)
数値を文字列に置き換えたもの。基本的にプロパティの設定値などは内部的には数値で扱われています
しかし、プロパティごとに0がなにで、1がなにで、-1はこう、といちいち覚えてもいられませんし、見直しても分かりにくいことこの上ありません
例えば、色に関していうとわかりやすいです
「65280」この色です。といわれても何色か分かりません
そこで、この数値を定数に置き換えたものが「vbGreen」です
緑色だ、と分かったはずです
これが定数の便利さです、これのお陰で値をいちいち覚えていなくてもプログラムが書けます
こちらもユーザー定義の定数は変数の部類になるので別と思っていてください

参照設定
外部アプリなどを使用する際にExcelVBAにそのアプリを使用可能な状態に設定すること
事前バインディングと実行時バインディングの2通りの方法がある

事前バインディング
VBAの参照設定でコーディング中に設定を行うこと
メリットは、そのコードに対するインテリセンスが可能になることやプロパティやメソッドが確認できることと処理実行前に設定が完了しているため実行時バインディングより動作が早い

実行時バインディング
処理の実行中に参照設定を行うこと
メリットとしては、事前の参照設定を行っていなくても実行可能になること
例えば、参照設定を行っていないPCで作成した処理を実行するとエラーになるが実行時バインディングであればエラーにならず実行可能になる
またバージョン違いに関しても柔軟に対応できる
実行環境を整える必要がない分、こちらの方がメリットが大きいと思います

リファレンス
VBAのヘルプサイトのこと。以前はOfficeソフトに同梱されていたヘルプがネット上に開設されたところ。もちろんOffice持ってなくても閲覧可能です
自動翻訳なので、ん?や定数が日本語化されてて、あかん!ってなりますが、下手な解説サイトよりよっぽど役に立つよ!と身も蓋もない事をあえて言っておきます

ExcelVBAのリファレンスページへのリンク
https://docs.microsoft.com/ja-jp/office/vba/api/overview/excel