業務自動化を目指す事務職員の皆さん、はじめまして!そして、当サイトへようこそ!
この記事では、これからExcelマクロでプログラムを学ぼうとしている方へ、超基礎的なプログラムの作り方を紹介します。
パソコンが苦手な人も安心してくれ!
ド素人が「売れる」プログラムを組めるまでに学んだ事の第一歩をどうぞ!
Excelマクロ(VBA)のモジュールとプロシージャについて
Excelマクロのプログラムをどこに作るのか?から解説していきます。そもそも、Excelマクロが何なのか分からない方は、「Excelマクロとは?Excelマクロで楽になる業務7選」の記事を読んでから、戻ってきてね!
VBEを開いてみよう
まずは、Excelマクロを作る場所「VBE -Visual Basic Editor(ビジュアルベーシックエディタ)」と言うものを使います。この辺の名称は覚えなくてもOKです。
日々使っていたら覚えるので、最初は無視でOK!サラッと目を通しておいて!
開発タブを表示しVBEを開く準備をする
これがVBEです。いかにもプログラムって雰囲気出てますよね。これを開く為に、まずExcelの設定を変更しましょう。
《手順》
①ファイルを選択
②オプションを選択
③リボンのユーザ設定 ⇒ 開発にチェック ⇒ OK
④開発タブが表示される
表示された開発タブ内の、「Visual Basic」を選択すると、VBEが開きます。
VBEの内容を覚えよう(いや、覚える必要はない)
VBEの項目名を参考に解説します。こちらも、今は覚える必要は無いです。
- ツールバー
- プロジェクトウィンドウ
- プロパティウィンドウ
- コードウィンドウ
- イミディエイトウィンドウ
- ウォッチウィンドウ
初心者は、ツールバーとプロジェクトウィンドウとコードウィンドウだけ覚えておけばOKです。あとは、無視!イミディエイトウィンドウとウォッチウィンドウは表示されない可能性もある。
プロジェクトウィンドウの中身を学ぼう
それではプロジェクトウィンドウの中身を見てみましょう。
- VBA Project
- MicroSoft Excel Objects
- 標準モジュール
の3つがありますね。初心者が使うのは標準モジュールだけ!
VBAProjectとは
このマクロのプロジェクト全体を指します。プロジェクトと言う言葉に慣れないかもしれませんが、1つのシステムを作る時の単位をプロジェクトと呼びます。
- 〇〇〇システムプロジェクト!
こんな感じ。
この辺は聞き流せw
MicroSoft Excel Objectsとは
Excelのシートに機能を作り込む場所です。例えば、
- セルA1が変更されたらセルC1の値と比較する
みたいな感じで「ユーザがExcelシートに入力した直後に処理を行いたい」と言った時に使います。初心者のうちは使う事は無いですが、プログラムについて理解を進めていくと、いずれ使う時がやってくるでしょう。
それまでは、忘れてましょう。笑
標準モジュールとは
プログラムを記述する場所です。ここはよく使うので覚えておきましょう。本当はもっと細かく説明できますが、初心者向け記事なのでこの辺で辞めておきます。
さぁきたぞ!モジュールって何ぞ!?
モジュールの説明をこれからするのでご安心を!
モジュールとプロシージャについて
それでは、初心者でも避けては通れない難しい話を初めて行きましょう。今は、難しくても何となく続けていけば理解できるようになります。
だから、100%理解する必要はねぇ!雰囲気だけ掴むんだ!
モジュールとは
プログラムを管理するグループです。このモジュールの中に何個でもプログラムを作る事ができます。このプログラムの事を、Excelマクロ(VBA)ではプロシージャと呼びます。
プロシージャとは
モジュール内に記述された、1つの機能を持ったプログラムです。
(例)セルA1に「りんご」と打つ機能
この機能が1つのプロシージャです。プロシージャをいくつも組み合わせる事で、1つのシステムを作り上げる事ができます。
- セルA1に「りんご」と打つプロシージャ
- セルA1の文字を確認して「くだもの」か「やさい」か判断するプロシージャ
これで、「りんごを”くだもの”と判断するシステム」ができますね。
む。難しいよな…。とりあえず、次に進んでくれ、プログラムを体験するんだ!
事務職でもできるExcelマクロプログラムの書き方
それでは、実際にプログラムを作ってみましょう。これを実践すれば、プロシージャが1つの機能である事を理解頂けると思います。
Sheet1のセルA1に「Hellow World」と表示しよう
次のような機能を持ったプログラムを作っていきます。
- プログラムを実行すると、Sheet1のセルA1に「Hellow World」と表示
手で打った方が早いじゃねーか!!!って思うだろうが我慢してくれ!プログラムを打つ時間はかかるが、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と打つより断然早いですね!
セルA1にHello Worldと手入力すると、5秒くらいかかるな。プログラムなら一瞬だ。
Excelマクロファイルは「.xlsm」で保存
それでは最後に、作ったプログラムの保存方法です。Excelマクロ(VBA)ファイルは「.xlsx」で保存しても消えてしまいます。必ず「.xlsm」で保存しましょうね。
まとめ
Excelマクロ(VBA)を作る手順は以下。
- Excelを開く
- VBA Projectの標準モジュールを新規作成
- プロシージャにプログラムを打ち込む
- ファイル拡張子は「.xlsm」で保存
これがプログラムを組むまでの流れです。セルA1に「Hello World」を表示できたら、今日からプログラマデビューですね。これから少しずつ、プログラムの基礎を身に付てサクッとExcelマクロをマスタしてしまいましょう!
次に学ぶべき事は「Excelマクロ入門-ド素人がプログラムを組めるまで」の記事にまとめていますので、そちらを要チェック!
コメント