個人的に心躍ったガジェットを紹介するブログ「浮ろぐ」をやっている「うきしま」です。
皆さんはエクセルを使ってどの様な作業をする事が多いでしょうか?
集計作業でしょうか?それとも資料の作成ですかね?…
エクセルの用途は多岐にわたると思います。
エクセルで作業をしていてこの様な事を感じた事はないでしょうか?
- 扱うデータ量が多いと作業内容も複雑になり処理しきれない…
- 毎回同じ作業の繰り返しで頭がおかしくなりそう…
- データの集計作業をしたいけど手動でやると計算ミスがありそうで不安…
もし心当たりがあるという人は、これからVBAを使ってのマクロ開発について勉強してみる価値はあると思います。
マクロとはざっくりというとエクセルでの操作を自動化させることができる機能の事です。
この記事ではエクセルの作業を自動化させる為の最初の一歩として簡単なマクロを作成しつつ実際に実行する迄の流れを実際の手順をまじえて紹介していきます。
今回はあくまでVBAでのマクロ開発において最初の一歩を踏み出す事が目的です。
マクロ開発の為の準備とマクロ作成から実行まで一取りの流れを一緒にやってみませんか?
これからVBAを使ってマクロを作ってみたいという人はぜひ読んでみてください。
少し用語を覚えておくと理解が進むかも?
そもそもいきなりVBAとかマクロとかよくわからない用語を言われても困りますよね。
なので知っておくとこの先の理解の助けになるかもしれない用語を少しだけざっくりと紹介します。
もし既に知っているよという人は読み呼ばしていただいて構いません。
マクロ | ・エクセルの操作を自動化するための機能 または ・自動化させた処理をまとめた物 |
VBA | ・自動化させたいエクセルでの操作を指示する為の言葉 ・プログラミング言語の一種 |
ソースコード | VBA等のプログラミング言語を使用して記述された文章の事 |
VBE | ・マクロを開発する際に使用するのツールの事 |
これらの言葉についてはこれからも良く出てくる言葉ではあるのですが今はよくわからなくても問題ありません。
こんな言葉があって大体こんな感じの意味なんだ位に思っていただければ大丈夫です。
マクロを開発する準備をしよう
準備といってもそんなに複雑な手順はありません。
やることはたった2つです。
- エクセルのタブに開発タブを表示する
- マクロ有効ブック(.xlsm)を作成する
この記事で説明する手順はMicrosoft Excel 2016での手順になりますが、Excel 2019もほとんど同様の手順でできると思います。
では最初にエクセルのタブに開発タブを表示する方法について説明していきます。
まずエクセルを起動しタブから「ファイル」タブをクリックしてください。
ファイルタブは以下の画像の赤枠で囲んだ所にあります。

ファイルタブを開くと画面左側にメニューが表示されるので下の画像の赤枠で囲まれている場所にある「オプション」をクリックして下さい。

オプションを開くと下の画像の様なウィンドウが開きます。
ウィンドウが開いたら下の画像の赤枠で囲まれている場所にある「リボンのユーザー設定」をクリックしてください。

リボンのユーザー設定をクリックすると右側に下の画像の様な内容が表示されると思います。
初期状態では赤枠で囲まれている「開発」のチェックボックスのチェックが外れていると思いますのでこちらをクリックしてチェックを入れてください。
チェックを入れたら画面右下にあるOKボタンを押してください。

下の画像の赤枠部分の様に「開発」タブが表示されていればOKです。

次にマクロ有効ブック(.xlsm)の作成しましょう。
マクロは通常のエクセルファイル(拡張子が.xlsxのファイル)には保存できない為マクロ有効ブック(拡張子が.xlsm)を作成する必要があります。
まずファイルタブをクリックして下の画像に表示されている画面を表示させましょう。
次に下の画像の赤枠で囲まれている箇所にある「名前を付けて保存」をクリックして下さい。

「名前を付けて保存」をクリックするとファイルの保存先フォルダを指定する画面が表示されると思いますのでお好きなフォルダを選択してください。
保存先フォルダを指定すると以下の画像の様なウィンドウ(エクスプローラ)が立ち上がります。

次にエクスプローラ上の「ファイルの種類」で「Excel マクロ有効ブック(*.xlsm)」を選択してください。
選択したら保存ボタンをクリックしてファイルを保存しましょう。
これでマクロ有効ブックが作成されました。
以上でマクロを開発する準備ができましたので、次は実際にVBAを用いて簡単なマクロを作成してみましょう。
VBAを書いてみよう
今回はVBAを使ってのマクロ開発に触れる第一歩として画面にメッセージを表示させるプログラムを書いてみましょう。
まずはマクロを作成する為のツールであるVBE(Visual Basic Editor)を起動します。
下の画像において赤枠で囲った箇所にある「開発」タブをクリックしてください。
「開発」タブをクリックすると「Visual Basic」というボタンが表示されると思います。
こちらをクリックしてVBEを起動しましょう。(下の画像で青枠で囲まれている箇所にあるボタンです)

VBEが起動すると以下の様な画面が表示されます。

次にモジュールという物を追加します。
モジュールとはかなりざっくりいうとマクロを作成する為のプログラムを書く場所の事です。
今はマクロを作成するにはモジュールが必要なんだという程度の認識で問題ありません。
まずはプロジェクトエクスプローラ上で右クリックをして下の画像の様なメニューを表示させてください。
プロジェクトエクスプローラとは下の画像中のSheet1 (Sheet1)やThisWorkbook等が表示されている箇所のことです。
メニューが表示されたら「挿入」→「標準モジュール」を選択して下さい。
これでモジュールが追加されます。

モジュールを追加するとプロジェクトエクスプローラーに「Module1」という物が表示されます。これが追加されたモジュールとなります。
ちなみにモジュール名は変更する事が可能です。
プロジェクトエクスプローラの右側に表示されている画面はソースコードを書く為の「コードウィンドウ」と呼ばれるものです。
下の画像に表示されているコードウィンドウは背景色が黒になっていますがこれは私が自分用に環境設定している為です。(白い画面を長時間見てると目が痛くなるんですよね…)
初めてVBEを立ち上げた人や設定を変更していない人はおそらく白い画面が表示されていると思います。

では、実際に画面にメッセージを表示させるプログラムを書いてマクロを作成してみましょう。
下の画像に表示されているソースコードをコードウィンドウに書いてみてください。

少しだけこのソースコードの解説をします。
MsgBoxは画面にメッセージボックスを表示させるという処理です。
表示させる文字列はMsgBoxの後のダブルクォーテーションで囲まれている部分で指定しています。
ただ今はコードの意味を理解できなくても問題ありません。
ではコードが書けたら作成したマクロを実際に動かしてみましょう!
マクロを実行しよう
作成したマクロを動かす方法はいくつかあるのですが今回はVBEから実行する方法を紹介します。
まずはVBEのメニューにある「実行」をクリックして下さい。(下の画像で赤枠で囲まれている箇所の事です)

「実行」をクリックするとメニューが表示されます。
メニューの中から「Sub/ユーザーフォームの実行」をクリックして下さい。

「Sub/ユーザーフォームの実行」をクリックすると下の画像の様な画面が表示されます。
今回は実行するマクロ名として先ほど作成したTestをクリックして選択しましょう。
選択したら右側にある「実行(R)」ボタンをクリックする事でマクロが実行されます。

マクロの実行に成功した場合下の画像の様に画面上にHello World!!というメッセージが表示されます。

これで画面にメッセージを表示させるマクロが完成しました!
まとめ
今回はVBAを使ってエクセルのマクロを作成する為の第一歩として下記の内容について紹介しました。
- Microsoft Excelでマクロ開発をする為の環境設定方法
- マクロをVBAで開発する方法の説明(メッセージボックスにHello Worldを表示するマクロの作成を例に紹介)
- VBEから作成したマクロを実行する方法
エクセルは非常に優秀な表計算ソフトですがVBAを使うことでよりその魅力を引き出せると思います。
「浮ろぐ」では今回紹介した様なパソコン等の各種デバイスやソフトを使う上でのちょっとしたヒントや参考にして頂ける様な記事も公開しています。
そういった記事に興味のある人はこちらも是非ご覧ください。