Excelにはマクロ(Excel VBA)という機能があります。Excelに付属しているのでもちろん無料で使えます。エクセルの資格試験や基本情報技術者試験でも出題されています。
ところで、Excelで毎日同じ時刻に同じ作業をするとか、コピー貼り付けを何百回も繰り返すといった無駄な仕事をしてストレスをためている人はいませんか?
マクロ機能で、そんな面倒な作業を登録しておいて、すぐに呼び出せるようにしておけば作業時間の短縮になります。そこで、今回は、マクロの意味とその基本的な使い方について解説します。
目次
問題文のあとに簡単な操作方法を解説していますが、静止画では、わかりにくいと思いますので、最後に動画を載せています。ぜひご覧ください。
- 1.マクロの意味
- 2.マクロの記録
- 3.記録したマクロの実行と削除
- 4.開発タブの表示と非表示
- 5.ボタンの設置と削除
- 6.記録マクロの編集
- 7.VBAとは何か
- 8.VBE
- 9.マクロ有効ブックとセキュリティの警告
- 10.マクロのコピーと削除
- 11.マクロの本を買って勉強しよう
- 12.動画版はこちら(無料)
1.マクロの意味
(1)マクロとは何か
マクロ(Macro)とは、あるソフトの操作手順を保存して、自動的に実行させる機能です。
例えば、連続した複数の操作手順(計算とか入力とかコピペとか・・・)を登録しておけば、「実行」のボタンを押すだけで、瞬時に、自動的に、正しい順番ですべての操作をやってくれます。マクロを使用することによりストレスの軽減になり、手作業によるミスも少なくなります。
(2)Excelだけではない
「操作手順を保存したもの=マクロ」ですから、Excel以外にもマクロの機能はあります。WordやPowerPointにもマクロはあります。画像処理ソフトにもマクロはあります。また、100回、1000回とクリックするだけのフリーソフト(マウスマクロやキーボードマクロ)もあります。マクロの登録の仕方はソフトによって異なります。
2.マクロの記録
問題
「100」と入力するマクロ「Macro1」を記録しなさい。また、フォントサイズを20にするマクロ「Macro2」を記録しなさい。
解説
セルA1にカーソルがあることを確認します。
表示タブにマクロのボタンがあります。
そのなかに、マクロの記録があります。
マクロの名前はMacro1です。変更する必要はありません。OKボタンを押します。記録を始めると操作をすべて記憶します。
セルA1に100と入力しますが、ここでEnterキーを押してはいけません。
確定するときに、Enterキーではなく、入力のボタンを押します。
マクロの記録を終了します。マクロの記録を終了するのを絶対に忘れてはいけません。操作を間違えたときもいったん記録を終了してもう一度やり直します。これで記録できました。
マクロを記録する方法は何通りかあります。Excelの画面の左下にマクロの記録のボタンがあります。
マクロの名前はMacro2です。
フォントサイズを20にします。
Excelの画面の左下にマクロ記録を終了するボタンがあります。
マクロの記録を終了します。もう一度言いますが、マクロの記録を終了するのを絶対に忘れてはいけません。これで記録できました。
3.記録したマクロの実行と削除
問題
セルA1で「Macro1」「Macro2」をそれぞれ実行(再生)しなさい。また、「Macro1」「Macro2」を削除しなさい。
解説
本当にマクロが記録されたのか確認してみましょう。1行目を削除します。
セルA1を選択します。
表示タブ、マクロの中に、マクロの表示があります。
Macro1、Macro2があります。Macro1を選択します。実行します。
実行すると100と入力されます。
今度はMacro2を選択します。
実行すると文字が大きくなります。
マクロを表示します。
Macro1を選択します。
削除します。
Macro2を選択します。
削除します。
これでマクロが無くなりました。一度削除すると元に戻りませんので注意が必要です。
4.開発タブの表示と非表示
問題
開発タブを表示しなさい。また、非表示にしなさい。
解説
Excelには通常、開発というタブはありません。
リボンのタブを右クリックします。「リボンのユーザー設定」を押します。
開発のタブにチェックが入っていません。チェックを入れます。
これで、開発タブが表示されます。
開発タブを非表示にするときも同じ手順です。
5.ボタンの設置と削除
問題
「2000」と入力するマクロを記録し、記録したマクロを実行するためのボタンを設置しなさい。また、ボタンを削除しなさい。
解説
セルA1が選択されていることを確認します。
マクロの記録を開始します。
セルA1に2000と入力しますが、確定するときに、Enterキーではなく、入力のボタンを押します。
マクロの記録を停止します。
表示タブ、マクロの中に、マクロの表示があります。
Macro1があります。これで記録されました。
開発タブを表示します。
開発タブ、挿入ボタン、フォームコントロールのボタンを選択します。
長方形を描くように斜めにドラッグします。
Macro1を選びます。これでボタンとマクロが紐づけられます。
ボタンを押すと2000と入力できます。
右クリックをします。テキストの編集を選択します。
ボタンの文字列は自由に変えることができます。フォントサイズを変えることもできます。
右クリックをするとボタンのサイズも変えることができます。
右クリックをして切り取りをすると削除になります(ボタンは消えますがマクロは残ります)。
6.記録マクロの編集
問題
「I have a pen.」と入力するマクロを記録しなさい。また、入力する文字列が「I have an apple.」となるようにマクロを編集しなさい。
解説
セルA1が選択されていることを確認します。
マクロの記録をします。
「I have a pen.」と入力します。入力のボタンを押して確定します。
マクロの記録を停止します。
記録されたMacro1は、何回実行しても「I have a pen.」のままです。そこで、Macro1を編集します。
別の画面が開きます。これが「ExcelVBA」と呼ばれるプログラミング言語です。そのなかに、「I have a pen.」があります。
これを「an apple」にします。保存をせずにこのまま画面を閉じます。
Macro1を実行します。
「I have an apple.」になりました。
7.VBAとは何か
Excelではマクロの実行手順を、専用の言語VBAで記述します。VBAは「Microsoft Visual Basic for Applications」の略です。Excel用のVBAは「Excel VBA」といい、Access用のVBAは「Access VBA」といいます。Word VBA、PowerPoint VBAもあります。
8.VBE
問題
Visual Basic Editor(VBE)を起動しなさい。また、マクロを記録するとVBEのコードが増えていくことを確認しなさい。
解説
VBEとは「Visual Basic Editor」のことで、VBAを編集するための専用画面です。
- マクロ・・・操作手順を登録すること
- Excel VBA・・・操作手順を記述するためのコード
- VBE・・・操作手順を記述するための画面
Excelに付属する画面なので、Excelを終了したらVBEも終了します。開発タブに「Visual Basic」のボタンがあります。
「Visual Basic Editor」の画面になります。Excelの画面とVBEの画面の2つになります。
マクロの記録をします。
VBEの画面にします。標準モジュールの中に、新たにモジュール1ができます。
Macro1のコードが記述されています。
Excelの画面にします。別のセルを選択します。
VBEの画面にします。VBAのコードが増えます。セルを選択したことが記録されます。
Excelの画面にします。Excelの画面に切り替えるには左上のExcelのボタンを押すか、Windowsのタスクバーで切り替えます。
何かデータを入力します。
VBEの画面にします。VBAのコードが増えます。
このように、記録をすればするほどVBAのコードが増えます。
9.マクロ有効ブックとセキュリティの警告
問題
マクロの記録を停止して、マクロ有効ブックとして保存しなさい。また、マクロ有効ブックを開き、マクロの無いブックとして保存しなさい。
解説
マクロの記録を停止します。
名前を付けて保存をします。このまま、通常のExcelブック(xlsx)の形式で保存すると、マクロが保存されませんので注意が必要です。
マクロを保存するには、ファイルの種類を「Excelマクロ有効ブック」拡張子xlsmにする必要があります。
保存をすると、通常のExcelのファイルとは異なるアイコンになります。
マクロ有効ブックを開きます。
セキュリティの警告が表示されます。
マクロは悪用するとコンピュータウィルスにもなります。身に覚えのないマクロを実行すると勝手にデータが消えたり、パソコンが破壊されたりと大変危険です。マクロを含むブックを開くと、マクロは無効になっています。セキュリティの警告に関するメッセージが表示されますので、「コンテンツの有効化」でマクロを有効にします。
これでマクロを使うことができます。
名前を付けて保存をします。今度はマクロの無い通常のExcelのファイル、拡張子xlsxとして保存をします。
このようにマクロが保存されないことを表す警告が表示されます。マクロ無しのブックとして保存する場合は「はい」をクリックします。
これで保存してもファイルを閉じるまではマクロが残っていますので実行することができます。
閉じてもう一度ファイルを開くとマクロが消えます。
10.マクロのコピーと削除
(1)標準モジュール
問題
「100」と入力して、フォントサイズを20にするマクロを記録しなさい。また、VBEで、記録したマクロのVBAを確認しなさい。
解説
セルA1にカーソルがあることを確認します。
マクロの記録をはじめます。
セルA1に100と入力します。さらに、フォントサイズを20にします。
マクロの記録を停止します。これで記録できました。
ALT+F11でVBEを開きます。ALT+F11はVBEを起動するショートカットキーです。
保存したマクロは標準モジュール(Module1)に保存されています。
この画面がVBEで、実際に記述されているコードがVBAです。
(2)マクロを2つにする
問題
さきほどのマクロ(Macro1)をコピーして、「200」と入力して、フォントサイズを10にするマクロを作り、実行しなさい。
解説
Macro1をコピーして、その下に貼り付けます。
マクロ名は同じものは使えませんので、このように変える必要があります。
Macro1のところをMacro2にします
100のところを200にします。フォントサイズ「.Size = 20」のところを10にします。
Excelの画面で確認します。マクロを表示すると、マクロが2つになっていることが分かります。このようにマクロの記録をしなくても、直接VBEでマクロを増やすことができます。もちろん削除するとマクロは消えます。
違うセルをクリックします。
VBEの画面にします。Macro1をクリックしてカーソルがあることを確認します。
再生のボタンを押します。
Macro1の実行になります。100という数字が入り、フォントが20になります。
VBEの画面にします。Macro2をクリックしてカーソルがあることを確認します。
再生のボタンを押します。Macro2の実行になります。200という数字が入り、フォントが10になります。このように1つの画面で2つのマクロを実行することができます。
(3)モジュールとプロシージャの違い
VBAのコードは上から下に向かって1行ずつ順番に実行されます。しかし、コードはすべて行が一気に実行されるわけではなく、実行の始まりと実行の終わりを明確に記述して、その範囲だけを実行します。
Sub Macro1()は実行の始まりを表します。Macro1はマクロの名前です。End Subは実行の終わりを表します。
この実行の始まりから終わりまでのかたまりを「プロシージャ(procesure)」といいます。プロシージャは日本語では作業手順のことです。プロシージャが2つ以上ある時はカーソルがあるほうが実行されます。この場合はプロシージャが2つです。
モジュールとは、ExcelのファイルにVBAのコードを格納するページです。
Excelのファイルには複数のシートがあります。一般の人はExcelにはシートしかないと思っていると思います。
しかし、Excel上には表示されていないだけで、シートの他にモジュール、フォームなどがあります。シートはExcelの画面を見ることができますが、モジュールなどはVBEでしか見ることができません。
シートにもそのシートだけで使うコードを書くこともできますが、VBAは通常、標準モジュールに書きます。マクロを記録すると標準モジュールが自動的に作られます。
右クリックをすると標準モジュールを増やすこともできます。
(4)モジュールの解放
問題
標準モジュール「Module1」を解放しなさい。
解説
「Module1」を右クリックします。
「Module1の解放」をして、「いいえ」を選択します。
「Module1」が消えます。そして、マクロも無くなります。
11.マクロの本を買って勉強しよう
ここまで、マクロの基本的な使い方について解説しましたが、マクロは下手に使うとコンピュータウィルスにもなる(データが消えたり、書き換わったり・・・)ので、何も分からずにテンプレートを探したり、コードの例文をコピーして使ったりすることはやめましょう。
本格的にマクロを習得したい方は、マクロの入門書を2~3冊買ってゆっくり基礎から勉強しましょう。
解説は以上です。
12.動画版はこちら(無料)
この記事は、わえなび実力養成講座「わえなび速読VBA単語」Program1-1、1-1-2、1-2、1-2-2 の4本のYoutube動画を書き起こして、加筆修正したものです。
- 速読VBA単語 1-1 マクロの記録(速読VBA単語Program1 ExcelVBAの準備)【わえなび】 - YouTube
- 速読VBA単語 1-1-2 補講 記録マクロの修正(速読VBA単語Program1 ExcelVBAの準備)【わえなび】 - YouTube
- 速読VBA単語 1-2 VBEとマクロ有効ブック(速読VBA単語Program1 ExcelVBAの準備)【わえなび】 - YouTube
- 速読VBA単語 1-2-2 補講 モジュールとプロシージャ(速読VBA単語Program1 ExcelVBAの準備)【わえなび】 - YouTube