- 更新日: 2017年03月21日
- 公開日: 2016年07月05日
【入門編】業務効率化を図る!エクセルVBAを基礎から解説
本当はもっとクリエイティブな仕事をしたいし新しいプロジェクトを立ち上げたいけれど、単純作業やデータ分析、報告用資料作成に追われる…非常によくあることですね。もしExcelやAccessを使用しているのなら、VBAで作業の自動化にチャレンジしてみてはいかがでしょうか?時間の節約になるだけでなく、単純なヒューマンエラーを防ぐことにも繋がります。
そうはいっても敬遠する人が多いことでしょう。VBAに触れたことのない人やマクロが苦手な人に向け、超入門編の知識をご紹介します。
※以下、OSはWindows 10 Pro、ExcelはExcel 2016を使用しています。
VBAの概要
マクロとは?VBAとは?
マクロとは、Excelなどの操作を自動化させること。手動で行っている業務をマクロで自動化させることにより、煩雑な業務を効率的に処理することができるようになります。
VBA(Visual Basic for Applications)はExcelやAccessなどで利用できるプログラミング言語の1つです。VBAにはマクロの記録機能が備わっており、実際に手動で行った作業行程の通りに、自動的に実行させることができます。VBAで記録したマクロを修正したり、新しく処理を追加することで、マクロ記録のみではできない複雑な処理を可能にします。
VBAを始めるまでの準備
Officeがインストールされていれば、他にインストール作業は不要で、既にVBAを始められる状態になっています。
Excelでは、マクロに関する操作は「表示」タブと「開発」タブにあります。表示タブにある操作は限られているので、開発タブを使ってみましょう。標準では開発タブは表示されていないので、表示させます。
「ファイル」タブを選択。
オプションを選択。
「Excelのオプション」ダイアログが表示されます。リボンのユーザー設定より、メインタブ欄にある「開発」にチェックを入れ、OKボタンを押します。
「開発」タブが表示されました。
VBAに慣れたら、クイックツールバーにアイコンを表示させるのも便利です。
クイックツールバーの右横の矢印ボタンを押す→その他のコマンドを選択。(「ファイル」タブ>オプションでも可)
「Excelのオプション」ダイアログが表示されます。クイックアクセスツールバーを選択し、「コマンドの選択」の一覧から「マクロの表示」を選び、中央の追加ボタンを押します。
「マクロの表示」ボタンがクイックアクセスツールバーに追加されました。
マクロ作成~実行
それではマクロを記録して、簡単な機能を作ってみましょう。
- マクロの記録を開始
- 作業を記録する
- 記録終了
- マクロを実行
となります。
マクロの記録を開始
サンプルとして、支店ごとの売上表を用意しました。
「開発」タブ>マクロの記録を選択します。
「マクロの記録」ダイアログが表示されます。OKボタンを押すと記録が開始されます。
この先の作業はマクロに記録されるようになります。
作業を記録する
表を選択します。
「挿入」タブから、「おすすめグラフ」を選択します。
ここでは集合縦棒を選択し、OKボタンを押します。
グラフが表示されました。
記録終了する
ここで記録を終了します。「開発」タブ>記録終了を選択します。
これで、範囲を選択しグラフを表示するマクロが作成されました。
マクロを実行
記録されたマクロを確認します。「開発」タブ>マクロを選択。(画像では作成したグラフは削除し、フォーカスも別のセルに移動しています)
先ほど作成したマクロMacro1が表示されています。選択し、実行ボタンを押します。
先ほどと同じように、売上表の範囲が選択され、グラフが表示されました。
VBEを使って
・「開発」タブ>VisualBasicを選択する
・「開発」タブ>マクロで表示されたダイアログで、「編集」ボタンを押す
いずれかの操作で、VBAの編集画面であるVBE(VisualBasicEditor)が表示されます。この画面で自動的に記録されたプログラムに改修を加えることができます。
前項で作成したマクロはSubプロシージャとして記録されています。プロシージャとは複数の処理を一つの手順としてまとめたものを意味します。
ボタンを作成する
先ほどのシートにボタンをつけてみましょう。「開発」タブ>挿入で、ボタンを挿入します。フォームコントロール、ActiveXコントロールにそれぞれボタンがありますが、今回はActiveXコントロールのボタンを選びました。
CommandButton1というボタンが挿入されます。
「開発」タブ>デザインモードを押し、デザインモードにします。(選択されると背景がグレーになります。)デザインモードにすると、ボタンやチェックボックスなどを編集できるようになります。
デザインモードでボタンを右クリックするとメニューが表示されます。「コードの表示」を選択。
VBEに移動しました。ここでボタンをクリックしたときのプログラム(今回はCommandButton1_clickというSubプロシージャ)を編集できます。
Call Macro1と記述しました。Call(マクロ名)は、他のプロシージャを呼び出す命令です。
以上でボタンの作成は完了しました。
マクロの実行
Excelに戻り、デザインモードを解除してください。デザインモードを解除すると、ボタンを実行できるようになります。
それではCommandButton1ボタンを押します。
グラフが表示されました。
マクロを使用する際の注意
この業界にはマクロを悪用したウイルス、いわゆるマクロウイルスが存在します。過去のウイルスであったはずなのですが、近年はマクロウイルスを知らない世代を中心に増加傾向にあるとのこと。Excelではウイルス感染を防ぐために、マクロに関するセキュリティ設定ができます。
「ファイル」タブ>オプションを選び、「Excelのオプション」ダイアログを表示。セキュリティセンターから、「セキュリティセンターの設定」ボタンを押します。
「マクロの設定」を選択すると設定内容が表示されます。
出所不明のファイルを扱うときは自動的にマクロが実行されないように、この設定を事前に確認しておきましょう。
\Webサイト担当者としてのスキルが身に付く/
おわりに
以上簡単にご紹介しました。歴史のある技術なので、Web上にヒントやサンプルが数多く存在します。基本的な操作を覚え、何をどう作るか考えることさえできれば、もう立派なプログラミング。実現に向けて、ぜひチャレンジしてみてください。
- この記事を書いた人
- murase miho