マクロを作ることが出来れば面倒な作業を減らすことができると思うのだけど、マクロを作るのってハードル高そうで…。という方は多いと思います。
本記事では、そのような方のためにマクロは意外と簡単に作れるということをお伝えしようと思います。初挑戦の方でもわかりやすいように画面キャプチャをたくさん使って説明していきます。
目次
VBAとマクロ
Excelでマクロを作るときには、VBA(Visual Basic for Application)というプログラミング言語を使います。
そのせいなのか、VBA = マクロ という理解をしている人もいるようですが、VBAとマクロは違うものなので気を付けましょう。
- VBA: マクロを作るためのプログラミング言語のこと
- マクロ: VBAで作られた機能のこと
Excelでマクロを作るためのメニュー(開発タブ)表示方法
それではVBAでマクロを作っていきましょう!
といきたいところですが、デフォルトではVBAでマクロを書くためのメニューは表示されていません。
そのため、まずはメニューを表示するところから始めます。
1. トップメニューの【ファイル】をクリックします。
2. 【オプション】をクリックします。
3. Excleのオプションウィンドウが開きますので、【リボンのユーザー設定】をクリックし、【開発】にチェックを付けます。
4. すると、トップメニューに【開発】タブが表示されます。
5. 開発タブをクリックして、【Visual Basic】をクリックします。
6. 【Microsoft Visual Basic for Applications】ウィンドウが表示されます。

これでVBAでマクロを作るための準備は完了です!
VBAでマクロを作る(標準モジュールを追加する)
次に、VBAでマクロを作るために、標準モジュールを追加します。
余談ですが、このVBAを書くためのエディターのことをVBE(Visual Basic Editor)と言います。
1. 【VBAProjectを右クリック】→ 【挿入】 → 【標準モジュール】をクリックします。
2. 【Module1(コード)】 ウィンドウが表示されます。
VBAで簡単なマクロを作る
それでは、簡単なマクロを作ってみましょう。
これから作るマクロは、「”Sheet1″のA1~A5にある数値から最大値と最小値を表示する」マクロです。
1. ソースコード
【Module1(コード)】に以下のソースコードを貼り付けます。(copyボタンを押せばコピーできます)
copy
' "Sheet1"のA1~A5にある数値から最大値と最小値を表示する
Sub ShowMinMaxVal()
' 1.最大値と最小値を入れる箱を作る
Dim minVal, maxVal As Long
Dim targetRange As range
Set targetRange = Worksheets("Sheet1").range("A1:A5")
' 2.1で作った箱に、最大値と最小値を入れる
minVal = Application.WorksheetFunction.Min(targetRange)
maxVal = Application.WorksheetFunction.Max(targetRange)
' 3.最大値と最小値を表示する
MsgBox "最小値:" & minVal & ", 最大値:" & maxVal
End Sub
2. マクロを実行するための準備
Excelに戻り、A1~A5に数字を入力してください。
そのあとに【マクロ】をクリックすると、【マクロ】ウィンドウが表示されます。
さきほど作成した【ShowMinMaxVal】を選択して、【実行】ボタンをクリックします。
3. マクロの確認
最小値と最大値が表示されます。
A1~A5にある数字を見ると、最小値2、最大値10であることがわかるので、マクロが正しい結果を表示していることが分かります。
今回はマクロのハードルを下げるために、かなり簡単なマクロを作ってみました。
これを機に、仕事で発生している面倒なExcel処理を、マクロで実行できるようにしてみてはいかがでしょうか?