Excel Microsoft VBA

【VBAの基礎】を覚えよう!-VBA入門講座#1-

サブロー
こんにちは。サブローです。

『Microsoft Excel』(以下Excel、エクセル)の中の機能としてある[VBA] [マクロ] [VBE]について基本的な説明をしていきます。

よろしくお願いします。

【VBA】【マクロ】とは?

VBAとは、『Visual Basic for Apprications』の略で、初心者向けのプログラミング言語として開発された「Visual Basic」の言語仕様を元に、Word(ワード)、Excel(エクセル)などのOfficeアプリケーションを制御するために開発されたMicrosoftのプログラミング言語です。VBAには、入力支援機能やデバック機能など多くの機能が備えられています。

ちなみにマクロは、このVBAのプログラミング言語で書かれた操作の手順書のようなものとイメージしてください!

このマクロを使えば、日常の定例作業として行っているエクセルの入力作業や印刷などを自動化できます。

条件を判定しながら処理を行うようにすることもできます。要はエクセルの操作を自動化するプログラムのことです。

操作を自動化するとミス(ヒューマンエラー)を減らすこともできますし、なにしろ時間も削減できるので改善効果も期待できます。

私もVBAを使って改善提案をいくつも出してきました。覚えるまでが難しいですが、覚えたら色々なことに使えるので重宝しています!



【VBE】とは?

VBEとは、『Visual Basic Editor』の略で、VBA(マクロ)を作成したり、マクロの内容を変更したり、つまりVBAでコードを記述するための専用のソフトウェアとなります。マクロが含まれているブックをVBEで表示すると、マクロの内容がコードで表示されます。

VBEはエクセルの画面から起動します。

【VBE】の起動

VBEの起動

[Alt] + [F11] のボタンをクリック

または

[開発]タブの[Visual Basic]のボタンをクリック

効率化の為にショートカットを利用しましょう。また[Alt] + [F11] を押すたびに、エクセル画面⇔VBEの画面の切り替えもできます。

【VBE】の画面構成

下の画面も参照してください。

A.【プロジェクトエクスプローラー】

VBE画面では左上に位置するウィンドウ(プロジェクトウィンドウ)になります。

エクセルで開いているブックごとに、マクロを記述するモジュールが表示されている場所です。

またこのプロジェクトエクスプローラーには5つのオブジェクトがツリー上(階層構造)に表示されます。

基本は”標準モジュール”を使用し記述していきます。

〇 シートオブジェクト

〇 ブックオブジェクト

〇 フォームオブジェクト

〇 標準モジュールオブジェクト

〇 クラスモジュールオブジェクト

B.【プロパティウィンドウ】

VBE画面では左下に位置するウィンドウ(プロパティウィンドウ)になります。

プロジェクトエクスプローラーで選択している項目の詳細が表示されている場所です。

このオブジェクトのプロパティを編集することができます。

C.【コードウインドウ】

VBE画面では右側に位置するウィンドウになります。

VBAのコードが記述されるところです。

複数のマクロがある場合は、マクロとマクロの間に区分線が引かれます。

プロジェクトエクスプローラーからマクロを記述するモジュールをダブルクリックすると、そのモジュールのコードウィンドウが開きます。

ちなみにマクロは【Sub "マクロ名" ()】で始まり、【End sub】で終わります。

またマクロを実行すると、上から順に処理されます。

【Sub "マクロ名"()】、【End sub】を書き忘れるとエラーが出てマクロは動きませんのでご注意を!

※もしVBE起動しても”プロジェクトエクスプローラー"や"プロパティウィンドウ"が表示されていない場合は、VBEの画面にて、[表示]メニューをクリックし、表示したいウィンドウをクリックすると表示されます。

【モジュール】と【プロシージャ】

VBAを構成するモジュール (Modulel)プロシージャ (Procedure) の関係性を説明します。

プロシージャは1つのマクロが成り立つ最小の単位です。

プロシージャには英語では”手続き”や"手順書"の意味があります。

1つ以上のプロシージャーが集まって、1つのモジュールとなります。

1つのマクロを記録するとプロシージャが1つ作成されます。

イメージとしては、下図のような感じになります。

主なプロシージャとしては、「Functionプロシージャ」「Subプロシージャ」「イベントプロシージャ」があります。

Functionプロシージャ

処理の実行後に値を返すプロシージャです。"Function"ステートメントと"End Function"ステートメントの間にコードを記述します。ユーザー定義関数を作成する際に利用します。

Subプロシージャ

処理を実行するためのプロシージャです。"Sub"ステートメントと"End Sub"ステートメントの間にコードを記述します。

イベントプロシージャ

なにかしらのイベント、例えば、"ブックを開いた時、保存する時、クリックした時"などのようにある特定の動作をきっかけにして実行するするプロシージャです。

モグゾー
それでは、今回はここまで。最後までお読みいただきありがとうございました!

2020年1月29日公開 | 2020年7月24日更新



~INDEX一覧~

エクセル関数の勉強 1

サブローエクセル/Excel関数の一覧にしています。本ブログ内で記事にしているものは、講座の列にリンク付けを随時行います(^o^) ※使用頻度のランクに関しては、個人的な主観でランク付けをしています。 ...

2

サブロー危険物取扱者試験 乙4種対策講座の目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 【目次/INDEX】 講座ID分類内容リンク 1共通#1『危険物取扱者試験』の ...

3

サブローQC(品質管理)検定に関する説明が増やして行く予定なのでリンクに飛ぶような目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 モグゾー対象級を記載していますが、あく ...

4

サブローExcel VBAに関する説明を今後増やして行く予定なので、各リンクに飛ぶような目次(INDEX)を作りました。 随時更新していくので、よろしくお願いします。 目次(INDEX) 講座No内容 ...

-Excel, Microsoft, VBA
-, , , ,

Copyright© サブログ , 2020 All Rights Reserved Powered by AFFINGER5.