【入門編】業務効率化を図る!エクセルVBAを基礎から解説

2016年7月5日 (2017年3月21日最終更新)
【入門編】業務効率化を図る!エクセルVBAを基礎から解説

本当はもっとクリエイティブな仕事をしたいし新しいプロジェクトを立ち上げたいけれど、単純作業やデータ分析、報告用資料作成に追われる…非常によくあることですね。もしExcelやAccessを使用しているのなら、VBAで作業の自動化にチャレンジしてみてはいかがでしょうか?時間の節約になるだけでなく、単純なヒューマンエラーを防ぐことにも繋がります。

そうはいっても敬遠する人が多いことでしょう。VBAに触れたことのない人やマクロが苦手な人に向け、超入門編の知識をご紹介します。

※以下、OSはWindows 10 Pro、ExcelはExcel 2016を使用しています。

目次
  1. VBAの概要
  2. マクロとは?VBAとは?
  3. VBAを始めるまでの準備
  4. マクロ作成~実行
  5. マクロの記録を開始
  6. 作業を記録する
  7. 記録終了する
  8. マクロを実行
  9. VBEを使って
  10. ボタンを作成する
  11. マクロの実行
  12. マクロを使用する際の注意
  13. おわりに

VBAの概要

マクロとは?VBAとは?

マクロとは、Excelなどの操作を自動化させること。手動で行っている業務をマクロで自動化させることにより、煩雑な業務を効率的に処理することができるようになります。

VBA(Visual Basic for Applications)はExcelやAccessなどで利用できるプログラミング言語の1つです。VBAにはマクロの記録機能が備わっており、実際に手動で行った作業行程の通りに、自動的に実行させることができます。VBAで記録したマクロを修正したり、新しく処理を追加することで、マクロ記録のみではできない複雑な処理を可能にします。

VBAを始めるまでの準備

Officeがインストールされていれば、他にインストール作業は不要で、既にVBAを始められる状態になっています。

Excelでは、マクロに関する操作は「表示」タブと「開発」タブにあります。表示タブにある操作は限られているので、開発タブを使ってみましょう。標準では開発タブは表示されていないので、表示させます。

「ファイル」タブを選択。

tab1

オプションを選択。

tab2

「Excelのオプション」ダイアログが表示されます。リボンのユーザー設定より、メインタブ欄にある「開発」にチェックを入れ、OKボタンを押します。

tab3

「開発」タブが表示されました。 tab4

VBAに慣れたら、クイックツールバーにアイコンを表示させるのも便利です。

クイックツールバーの右横の矢印ボタンを押す→その他のコマンドを選択。(「ファイル」タブ>オプションでも可)

toolbar1

「Excelのオプション」ダイアログが表示されます。クイックアクセスツールバーを選択し、「コマンドの選択」の一覧から「マクロの表示」を選び、中央の追加ボタンを押します。

toolbar2

「マクロの表示」ボタンがクイックアクセスツールバーに追加されました。

toolbar3

マクロ作成~実行

それではマクロを記録して、簡単な機能を作ってみましょう。

  • マクロの記録を開始
  • 作業を記録する
  • 記録終了
  • マクロを実行

となります。

マクロの記録を開始

サンプルとして、支店ごとの売上表を用意しました。

「開発」タブ>マクロの記録を選択します。

macro0

「マクロの記録」ダイアログが表示されます。OKボタンを押すと記録が開始されます。

macro1

この先の作業はマクロに記録されるようになります。

作業を記録する

表を選択します。

macro2

「挿入」タブから、「おすすめグラフ」を選択します。

macro3

ここでは集合縦棒を選択し、OKボタンを押します。

macro4

グラフが表示されました。

macro5

記録終了する

ここで記録を終了します。「開発」タブ>記録終了を選択します。

macro6

これで、範囲を選択しグラフを表示するマクロが作成されました。

マクロを実行

記録されたマクロを確認します。「開発」タブ>マクロを選択。(画像では作成したグラフは削除し、フォーカスも別のセルに移動しています)

macro7

先ほど作成したマクロMacro1が表示されています。選択し、実行ボタンを押します。

macro8

先ほどと同じように、売上表の範囲が選択され、グラフが表示されました。

macro9

VBEを使って

・「開発」タブ>VisualBasicを選択する

・「開発」タブ>マクロで表示されたダイアログで、「編集」ボタンを押す

いずれかの操作で、VBAの編集画面であるVBE(VisualBasicEditor)が表示されます。この画面で自動的に記録されたプログラムに改修を加えることができます。

vbe2

前項で作成したマクロはSubプロシージャとして記録されています。プロシージャとは複数の処理を一つの手順としてまとめたものを意味します。

ボタンを作成する

先ほどのシートにボタンをつけてみましょう。「開発」タブ>挿入で、ボタンを挿入します。フォームコントロール、ActiveXコントロールにそれぞれボタンがありますが、今回はActiveXコントロールのボタンを選びました。

vbe3

CommandButton1というボタンが挿入されます。

vbe9

「開発」タブ>デザインモードを押し、デザインモードにします。(選択されると背景がグレーになります。)デザインモードにすると、ボタンやチェックボックスなどを編集できるようになります。

vba7

デザインモードでボタンを右クリックするとメニューが表示されます。「コードの表示」を選択。

vba4

VBEに移動しました。ここでボタンをクリックしたときのプログラム(今回はCommandButton1_clickというSubプロシージャ)を編集できます。

vba5

Call Macro1と記述しました。Call(マクロ名)は、他のプロシージャを呼び出す命令です。

vba6

以上でボタンの作成は完了しました。

マクロの実行

Excelに戻り、デザインモードを解除してください。デザインモードを解除すると、ボタンを実行できるようになります。

それではCommandButton1ボタンを押します。

vba8

グラフが表示されました。

マクロを使用する際の注意

この業界にはマクロを悪用したウイルス、いわゆるマクロウイルスが存在します。過去のウイルスであったはずなのですが、近年はマクロウイルスを知らない世代を中心に増加傾向にあるとのこと。Excelではウイルス感染を防ぐために、マクロに関するセキュリティ設定ができます。

「ファイル」タブ>オプションを選び、「Excelのオプション」ダイアログを表示。セキュリティセンターから、「セキュリティセンターの設定」ボタンを押します。

option_sec

「マクロの設定」を選択すると設定内容が表示されます。

securitycenter

出所不明のファイルを扱うときは自動的にマクロが実行されないように、この設定を事前に確認しておきましょう。

おわりに

以上簡単にご紹介しました。歴史のある技術なので、Web上にヒントやサンプルが数多く存在します。基本的な操作を覚え、何をどう作るか考えることさえできれば、もう立派なプログラミング。実現に向けて、ぜひチャレンジしてみてください。

murase miho
murase miho
ライター プログラマー、システムエンジニア、デジタル複合機のテストリーダーを経て、現在はIT関係を中心に記事を執筆。Code部では技術記事のほか、仕事術のコラムも書いております。新しいことに挑戦したい皆さんが最初の一歩を踏み出すための、わかりやすい記事を心がけています。4歳の息子がプログラミングに興味を持ち始めたので、親としてどうしようか悩んでいるところです。

関連記事