初心者向け(入門編)

Excelマクロ(VBA)のモジュール・プロシージャ・変数とは?事務職でもできるプログラム

初心者向け(入門編)

業務自動化を目指す事務職員の皆さん、はじめまして!そして、当サイトへようこそ!
この記事では、これからExcelマクロでプログラムを学ぼうとしている方へ、超基礎的なプログラムの作り方を紹介します。

P.Man
P.Man

パソコンが苦手な人も安心してくれ!

ド素人が「売れる」プログラムを組めるまでに学んだ事の第一歩をどうぞ!

Excelマクロ(VBA)のモジュールとプロシージャについて

Excelマクロのプログラムをどこに作るのか?から解説していきます。そもそも、Excelマクロが何なのか分からない方は、「Excelマクロとは?Excelマクロで楽になる業務7選」の記事を読んでから、戻ってきてね!

VBEを開いてみよう

まずは、Excelマクロを作る場所「VBE -Visual Basic Editor(ビジュアルベーシックエディタ)」と言うものを使います。この辺の名称は覚えなくてもOKです。

日々使っていたら覚えるので、最初は無視でOK!サラッと目を通しておいて!

開発タブを表示しVBEを開く準備をする

VBE

これがVBEです。いかにもプログラムって雰囲気出てますよね。これを開く為に、まずExcelの設定を変更しましょう。

《手順》

①ファイルを選択

Excelメニューファイル

②オプションを選択

オプション

③リボンのユーザ設定 ⇒ 開発にチェック ⇒ OK

開発タブチェック

④開発タブが表示される

表示された開発タブ内の、「Visual Basic」を選択すると、VBEが開きます。

VBEの内容を覚えよう(いや、覚える必要はない)

VBEの項目名を参考に解説します。こちらも、今は覚える必要は無いです。

VBEの名称と役割
  • ツールバー
  • プロジェクトウィンドウ
  • プロパティウィンドウ
  • コードウィンドウ
  • イミディエイトウィンドウ
  • ウォッチウィンドウ

初心者は、ツールバーとプロジェクトウィンドウとコードウィンドウだけ覚えておけばOKです。あとは、無視!イミディエイトウィンドウとウォッチウィンドウは表示されない可能性もある。

プロジェクトウィンドウの中身を学ぼう

それではプロジェクトウィンドウの中身を見てみましょう。

プロジェクトウィンドウ
  • VBA Project
  • MicroSoft Excel Objects
  • 標準モジュール

の3つがありますね。初心者が使うのは標準モジュールだけ!

VBAProjectとは

このマクロのプロジェクト全体を指します。プロジェクトと言う言葉に慣れないかもしれませんが、1つのシステムを作る時の単位をプロジェクトと呼びます。

  • 〇〇〇システムプロジェクト!

こんな感じ。

P.Man
P.Man

この辺は聞き流せw

MicroSoft Excel Objectsとは

Excelのシートに機能を作り込む場所です。例えば、

  • セルA1が変更されたらセルC1の値と比較する

みたいな感じで「ユーザがExcelシートに入力した直後に処理を行いたい」と言った時に使います。初心者のうちは使う事は無いですが、プログラムについて理解を進めていくと、いずれ使う時がやってくるでしょう。

それまでは、忘れてましょう。笑

標準モジュールとは

プログラムを記述する場所です。ここはよく使うので覚えておきましょう。本当はもっと細かく説明できますが、初心者向け記事なのでこの辺で辞めておきます。

P.Man
P.Man

さぁきたぞ!モジュールって何ぞ!?

モジュールの説明をこれからするのでご安心を!

モジュールとプロシージャについて

それでは、初心者でも避けては通れない難しい話を初めて行きましょう。今は、難しくても何となく続けていけば理解できるようになります。

P.Man
P.Man

だから、100%理解する必要はねぇ!雰囲気だけ掴むんだ!

モジュールとは

プログラムを管理するグループです。このモジュールの中に何個でもプログラムを作る事ができます。このプログラムの事を、Excelマクロ(VBA)ではプロシージャと呼びます。

プロシージャとは

モジュール内に記述された、1つの機能を持ったプログラムです。

(例)セルA1に「りんご」と打つ機能

この機能が1つのプロシージャです。プロシージャをいくつも組み合わせる事で、1つのシステムを作り上げる事ができます。

  1. セルA1に「りんご」と打つプロシージャ
  2. セルA1の文字を確認して「くだもの」か「やさい」か判断するプロシージャ

これで、「りんごを”くだもの”と判断するシステム」ができますね。

P.Man
P.Man

む。難しいよな…。とりあえず、次に進んでくれ、プログラムを体験するんだ!

事務職でもできるExcelマクロプログラムの書き方

それでは、実際にプログラムを作ってみましょう。これを実践すれば、プロシージャが1つの機能である事を理解頂けると思います。

Sheet1のセルA1に「Hellow World」と表示しよう

次のような機能を持ったプログラムを作っていきます。

  • プログラムを実行すると、Sheet1のセルA1に「Hellow World」と表示
P.Man
P.Man

手で打った方が早いじゃねーか!!!って思うだろうが我慢してくれ!プログラムを打つ時間はかかるが、Hellow WorldをセルA1に手入力するより早く終わるから!

標準モジュールにモジュールを追加しよう

標準モジュールにモジュールを追加しましょう。

《手順》

標準モジュールを右クリック
 ↓
挿入
 ↓
標準モジュール

標準モジュールに挿入

プログラムを入力してみよう

標準モジュールの下に「Module1」が表示されたと思います。それをクリックしてコードウィンドウを開きましょう。そこに次のプログラムを入力してください。

コードウィンドウ

コピー&ペーストでも良いですが、1文字ずつ手で打ってみるのをオススメします。

Sub helloWorld()

    ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = "HelloWorld"

    MsgBox "完了しました"

End Sub

この「Sub~End Sub」までがプロシージャです。プロシージャには「Sub(サブ)」と「Function(ファンクション)」の2種類があります。「Function」を使えば自分でExcel関数を自作する事も可能です。Excel関数の自作方法は、また別の記事で解説しますね!

入力したら実行してみましょう。

《手順》

①プロシージャの中を選択して

②実行ボタンを押す

たったこれだけ!

次の処理結果が表示されたら大成功!

上手く行かない人は、プログラムのタイプミスをしているから、サンプルのプログラムをコピーして使ってみください。

作成したSubプロシージャを実行しただけで、一瞬でセルA1にHello Worldが表示され、処理完了を知らせるメッセージまで表示できましたね。

これがプログラムのスピードです。手でHello Worldと打つより断然早いですね!

P.Man
P.Man

セルA1にHello Worldと手入力すると、5秒くらいかかるな。プログラムなら一瞬だ。

Excelマクロファイルは「.xlsm」で保存

それでは最後に、作ったプログラムの保存方法です。Excelマクロ(VBA)ファイルは「.xlsx」で保存しても消えてしまいます。必ず「.xlsm」で保存しましょうね。

xlsmで保存

まとめ

Excelマクロ(VBA)を作る手順は以下。

  • Excelを開く
  • VBA Projectの標準モジュールを新規作成
  • プロシージャにプログラムを打ち込む
  • ファイル拡張子は「.xlsm」で保存

これがプログラムを組むまでの流れです。セルA1に「Hello World」を表示できたら、今日からプログラマデビューですね。これから少しずつ、プログラムの基礎を身に付てサクッとExcelマクロをマスタしてしまいましょう!

次に学ぶべき事は「Excelマクロ入門-ド素人がプログラムを組めるまで」の記事にまとめていますので、そちらを要チェック!

コメント

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