わえなび ワード&エクセル問題集

当サイトはWordとExcelの実力を鍛える最高水準の特訓問題集です。リンクを張るのは自由です。みんなで勉強しましょう!

【初心者向け】マクロとは何か?Excel VBA基本の使い方を徹底解説します!動画解説付き

Excelにはマクロ(Excel VBA)という機能があります。Excelに付属しているのでもちろん無料で使えます。エクセルの資格試験や基本情報技術者試験でも出題されています。

ところで、Excelで毎日同じ時刻に同じ作業をするとか、コピー貼り付けを何百回も繰り返すといった無駄な仕事をしてストレスをためている人はいませんか?

マクロ機能で、そんな面倒な作業を登録しておいて、すぐに呼び出せるようにしておけば作業時間の短縮になります。そこで、今回は、マクロの意味とその基本的な使い方について解説します。

目次

問題文のあとに簡単な操作方法を解説していますが、静止画では、わかりにくいと思いますので、最後に動画を載せています。ぜひご覧ください。

1.マクロの意味

(1)マクロとは何か

マクロ(Macro)とは、あるソフトの操作手順を保存して、自動的に実行させる機能です。
例えば、連続した複数の操作手順(計算とか入力とかコピペとか・・・)を登録しておけば、「実行」のボタンを押すだけで、瞬時に、自動的に、正しい順番ですべての操作をやってくれます。マクロを使用することによりストレスの軽減になり、手作業によるミスも少なくなります。

(2)Excelだけではない

「操作手順を保存したもの=マクロ」ですから、Excel以外にもマクロの機能はあります。WordやPowerPointにもマクロはあります。画像処理ソフトにもマクロはあります。また、100回、1000回とクリックするだけのフリーソフト(マウスマクロやキーボードマクロ)もあります。マクロの登録の仕方はソフトによって異なります。

 

2.マクロの記録

問題

「100」と入力するマクロ「Macro1」を記録しなさい。また、フォントサイズを20にするマクロ「Macro2」を記録しなさい。

f:id:waenavi:20191010213331j:plain

 

解説

セルA1にカーソルがあることを確認します。

f:id:waenavi:20191010214920j:plain

 

表示タブにマクロのボタンがあります。

f:id:waenavi:20191010214923j:plain

 

そのなかに、マクロの記録があります。

f:id:waenavi:20191010214925j:plain

 

マクロの名前はMacro1です。変更する必要はありません。OKボタンを押します。記録を始めると操作をすべて記憶します。

f:id:waenavi:20191010214928j:plain

 

セルA1に100と入力しますが、ここでEnterキーを押してはいけません。

f:id:waenavi:20191010214930j:plain

 

確定するときに、Enterキーではなく、入力のボタンを押します。

f:id:waenavi:20191010214933j:plain

 

マクロの記録を終了します。マクロの記録を終了するのを絶対に忘れてはいけません。操作を間違えたときもいったん記録を終了してもう一度やり直します。これで記録できました。

f:id:waenavi:20191010214938j:plain

 

マクロを記録する方法は何通りかあります。Excelの画面の左下にマクロの記録のボタンがあります。

f:id:waenavi:20191010214942j:plain

 

マクロの名前はMacro2です。

f:id:waenavi:20191010214945j:plain

 

フォントサイズを20にします。

f:id:waenavi:20191010214947j:plain

 

Excelの画面の左下にマクロ記録を終了するボタンがあります。

f:id:waenavi:20191010214950j:plain

 

マクロの記録を終了します。もう一度言いますが、マクロの記録を終了するのを絶対に忘れてはいけません。これで記録できました。

f:id:waenavi:20191010214953j:plain

 

3.記録したマクロの実行と削除

問題

セルA1で「Macro1」「Macro2」をそれぞれ実行(再生)しなさい。また、「Macro1」「Macro2」を削除しなさい。

解説

本当にマクロが記録されたのか確認してみましょう。1行目を削除します。

f:id:waenavi:20191010220232j:plain

 

セルA1を選択します。

f:id:waenavi:20191010220234j:plain

 

表示タブ、マクロの中に、マクロの表示があります。

f:id:waenavi:20191010220237j:plain

f:id:waenavi:20191010220240j:plain

 

Macro1、Macro2があります。Macro1を選択します。実行します。

f:id:waenavi:20191010220242j:plain

 

実行すると100と入力されます。

f:id:waenavi:20191010220245j:plain

 

今度はMacro2を選択します。

f:id:waenavi:20191010220248j:plain

f:id:waenavi:20191010220252j:plain

 

実行すると文字が大きくなります。

f:id:waenavi:20191010220255j:plain

 

マクロを表示します。

f:id:waenavi:20191010220301j:plain

 

Macro1を選択します。

f:id:waenavi:20191010220303j:plain

 

削除します。

f:id:waenavi:20191010220307j:plain

 

Macro2を選択します。

f:id:waenavi:20191010220310j:plain

 

削除します。

f:id:waenavi:20191010220312j:plain

 

これでマクロが無くなりました。一度削除すると元に戻りませんので注意が必要です。

 

f:id:waenavi:20191010220315j:plain

 

4.開発タブの表示と非表示

問題

開発タブを表示しなさい。また、非表示にしなさい。

f:id:waenavi:20191010220333j:plain

 

解説

Excelには通常、開発というタブはありません。

f:id:waenavi:20191010222111j:plain

 

リボンのタブを右クリックします。「リボンのユーザー設定」を押します。

f:id:waenavi:20191010222114j:plain

 

開発のタブにチェックが入っていません。チェックを入れます。

f:id:waenavi:20191010222119j:plain

f:id:waenavi:20191010222122j:plain

 

これで、開発タブが表示されます。

f:id:waenavi:20191010222125j:plain

 

開発タブを非表示にするときも同じ手順です。

f:id:waenavi:20191010222128j:plain

f:id:waenavi:20191010222130j:plain

f:id:waenavi:20191010222133j:plain

 

5.ボタンの設置と削除

問題

「2000」と入力するマクロを記録し、記録したマクロを実行するためのボタンを設置しなさい。また、ボタンを削除しなさい。

f:id:waenavi:20191010220343j:plain

 

解説

セルA1が選択されていることを確認します。

f:id:waenavi:20191011170138j:plain

 

マクロの記録を開始します。

f:id:waenavi:20191011170142j:plain

 

セルA1に2000と入力しますが、確定するときに、Enterキーではなく、入力のボタンを押します。

f:id:waenavi:20191011170144j:plain

 

マクロの記録を停止します。

f:id:waenavi:20191011170148j:plain

 

表示タブ、マクロの中に、マクロの表示があります。

f:id:waenavi:20191011170150j:plain

 

Macro1があります。これで記録されました。

f:id:waenavi:20191011170154j:plain

 

開発タブを表示します。

f:id:waenavi:20191011170156j:plain

 

開発タブ、挿入ボタン、フォームコントロールのボタンを選択します。

f:id:waenavi:20191011170158j:plain

 

長方形を描くように斜めにドラッグします。

f:id:waenavi:20191011170201j:plain

 

Macro1を選びます。これでボタンとマクロが紐づけられます。

f:id:waenavi:20191011170204j:plain

 

ボタンを押すと2000と入力できます。

f:id:waenavi:20191011170207j:plain

f:id:waenavi:20191011170209j:plain

 

右クリックをします。テキストの編集を選択します。

f:id:waenavi:20191011170213j:plain

 

ボタンの文字列は自由に変えることができます。フォントサイズを変えることもできます。

f:id:waenavi:20191011170216j:plain

 

右クリックをするとボタンのサイズも変えることができます。

f:id:waenavi:20191011170219j:plain

 

右クリックをして切り取りをすると削除になります(ボタンは消えますがマクロは残ります)。

f:id:waenavi:20191011170222j:plain

f:id:waenavi:20191011170224j:plain

 

6.記録マクロの編集

問題

「I have a pen.」と入力するマクロを記録しなさい。また、入力する文字列が「I have an apple.」となるようにマクロを編集しなさい。

f:id:waenavi:20191011170715j:plain

 

解説

セルA1が選択されていることを確認します。

f:id:waenavi:20191011171452j:plain

 

マクロの記録をします。

f:id:waenavi:20191011171456j:plain

 

「I have a pen.」と入力します。入力のボタンを押して確定します。

f:id:waenavi:20191011171458j:plain

 

マクロの記録を停止します。

f:id:waenavi:20191011171501j:plain

 

記録されたMacro1は、何回実行しても「I have a pen.」のままです。そこで、Macro1を編集します。

f:id:waenavi:20191011171504j:plain

f:id:waenavi:20191011171507j:plain

 

別の画面が開きます。これが「ExcelVBA」と呼ばれるプログラミング言語です。そのなかに、「I have a pen.」があります。

f:id:waenavi:20191011171509j:plain

 

これを「an apple」にします。保存をせずにこのまま画面を閉じます。

f:id:waenavi:20191011171512j:plain

 

Macro1を実行します。

f:id:waenavi:20191011171515j:plain

 

「I have an apple.」になりました。

f:id:waenavi:20191011171518j:plain

 

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」のボタンがあります。

f:id:waenavi:20191011173032j:plain

 

「Visual Basic Editor」の画面になります。Excelの画面とVBEの画面の2つになります。

f:id:waenavi:20191011173035j:plain

 

マクロの記録をします。

f:id:waenavi:20191011173037j:plain

 

VBEの画面にします。標準モジュールの中に、新たにモジュール1ができます。

f:id:waenavi:20191011173040j:plain

 

Macro1のコードが記述されています。

f:id:waenavi:20191011173042j:plain

 

Excelの画面にします。別のセルを選択します。

f:id:waenavi:20191011173045j:plain

 

VBEの画面にします。VBAのコードが増えます。セルを選択したことが記録されます。

f:id:waenavi:20191011173047j:plain

 

Excelの画面にします。Excelの画面に切り替えるには左上のExcelのボタンを押すか、Windowsのタスクバーで切り替えます。

f:id:waenavi:20191011173049j:plain

 

何かデータを入力します。

f:id:waenavi:20191011173052j:plain

 

VBEの画面にします。VBAのコードが増えます。

f:id:waenavi:20191011173055j:plain

 

このように、記録をすればするほどVBAのコードが増えます。

f:id:waenavi:20191011173058j:plain

 

9.マクロ有効ブックとセキュリティの警告

問題

マクロの記録を停止して、マクロ有効ブックとして保存しなさい。また、マクロ有効ブックを開き、マクロの無いブックとして保存しなさい。 

解説

マクロの記録を停止します。

f:id:waenavi:20191011184335j:plain

 

名前を付けて保存をします。このまま、通常のExcelブック(xlsx)の形式で保存すると、マクロが保存されませんので注意が必要です。

f:id:waenavi:20191011184339j:plain

 

マクロを保存するには、ファイルの種類を「Excelマクロ有効ブック」拡張子xlsmにする必要があります。

f:id:waenavi:20191011184344j:plain

 

保存をすると、通常のExcelのファイルとは異なるアイコンになります。

f:id:waenavi:20191011184347j:plain

 

マクロ有効ブックを開きます。

f:id:waenavi:20191011184350j:plain

 

セキュリティの警告が表示されます。

f:id:waenavi:20191011184352j:plain

 

マクロは悪用するとコンピュータウィルスにもなります。身に覚えのないマクロを実行すると勝手にデータが消えたり、パソコンが破壊されたりと大変危険です。マクロを含むブックを開くと、マクロは無効になっています。セキュリティの警告に関するメッセージが表示されますので、「コンテンツの有効化」でマクロを有効にします。 

これでマクロを使うことができます。

f:id:waenavi:20191011184355j:plain

 

名前を付けて保存をします。今度はマクロの無い通常のExcelのファイル、拡張子xlsxとして保存をします。

f:id:waenavi:20191011184358j:plain

 

このようにマクロが保存されないことを表す警告が表示されます。マクロ無しのブックとして保存する場合は「はい」をクリックします。

f:id:waenavi:20191011184402j:plain

 

これで保存してもファイルを閉じるまではマクロが残っていますので実行することができます。

f:id:waenavi:20191011184405j:plain

 

閉じてもう一度ファイルを開くとマクロが消えます。

f:id:waenavi:20191011184410j:plain

f:id:waenavi:20191011184413j:plain

 

10.マクロのコピーと削除

(1)標準モジュール

問題

「100」と入力して、フォントサイズを20にするマクロを記録しなさい。また、VBEで、記録したマクロのVBAを確認しなさい。

f:id:waenavi:20191011184854j:plain

 

解説

セルA1にカーソルがあることを確認します。

f:id:waenavi:20191011191040j:plain

 

マクロの記録をはじめます。

f:id:waenavi:20191011191042j:plain

 

セルA1に100と入力します。さらに、フォントサイズを20にします。

f:id:waenavi:20191011191045j:plain

 

マクロの記録を停止します。これで記録できました。

f:id:waenavi:20191011191048j:plain

 

ALT+F11でVBEを開きます。ALT+F11はVBEを起動するショートカットキーです。

f:id:waenavi:20191011191050j:plain

 

保存したマクロは標準モジュール(Module1)に保存されています。

f:id:waenavi:20191011191053j:plain

 

この画面がVBEで、実際に記述されているコードがVBAです。

f:id:waenavi:20191011191057j:plain

 

(2)マクロを2つにする

問題

さきほどのマクロ(Macro1)をコピーして、「200」と入力して、フォントサイズを10にするマクロを作り、実行しなさい。 

解説

Macro1をコピーして、その下に貼り付けます。

f:id:waenavi:20191011205519j:plain

 

マクロ名は同じものは使えませんので、このように変える必要があります。

f:id:waenavi:20191011205522j:plain

 

Macro1のところをMacro2にします

f:id:waenavi:20191011205525j:plain

 

100のところを200にします。フォントサイズ「.Size = 20」のところを10にします。

f:id:waenavi:20191011205528j:plain

 

Excelの画面で確認します。マクロを表示すると、マクロが2つになっていることが分かります。このようにマクロの記録をしなくても、直接VBEでマクロを増やすことができます。もちろん削除するとマクロは消えます。

f:id:waenavi:20191011205531j:plain

 

違うセルをクリックします。

f:id:waenavi:20191011205534j:plain

 

VBEの画面にします。Macro1をクリックしてカーソルがあることを確認します。

f:id:waenavi:20191011205536j:plain

 

再生のボタンを押します。

f:id:waenavi:20191011205539j:plain

 

Macro1の実行になります。100という数字が入り、フォントが20になります。

f:id:waenavi:20191011205541j:plain

 

VBEの画面にします。Macro2をクリックしてカーソルがあることを確認します。

f:id:waenavi:20191011205545j:plain

 

再生のボタンを押します。Macro2の実行になります。200という数字が入り、フォントが10になります。このように1つの画面で2つのマクロを実行することができます。

f:id:waenavi:20191011205547j:plain

 

(3)モジュールとプロシージャの違い

VBAのコードは上から下に向かって1行ずつ順番に実行されます。しかし、コードはすべて行が一気に実行されるわけではなく、実行の始まりと実行の終わりを明確に記述して、その範囲だけを実行します。 

Sub Macro1()は実行の始まりを表します。Macro1はマクロの名前です。End Subは実行の終わりを表します。

f:id:waenavi:20191011210251j:plain 

 

この実行の始まりから終わりまでのかたまりを「プロシージャ(procesure)」といいます。プロシージャは日本語では作業手順のことです。プロシージャが2つ以上ある時はカーソルがあるほうが実行されます。この場合はプロシージャが2つです。

f:id:waenavi:20191011210254j:plain

 

モジュールとは、ExcelのファイルにVBAのコードを格納するページです。

f:id:waenavi:20191011210257j:plain

 

Excelのファイルには複数のシートがあります。一般の人はExcelにはシートしかないと思っていると思います。

f:id:waenavi:20191011210301j:plain

 

しかし、Excel上には表示されていないだけで、シートの他にモジュール、フォームなどがあります。シートはExcelの画面を見ることができますが、モジュールなどはVBEでしか見ることができません。

f:id:waenavi:20191011210303j:plain

 

シートにもそのシートだけで使うコードを書くこともできますが、VBAは通常、標準モジュールに書きます。マクロを記録すると標準モジュールが自動的に作られます。

f:id:waenavi:20191011210306j:plain

f:id:waenavi:20191011210309j:plain

 

右クリックをすると標準モジュールを増やすこともできます。

f:id:waenavi:20191011210312j:plain

 

(4)モジュールの解放

問題

標準モジュール「Module1」を解放しなさい。

解説

「Module1」を右クリックします。

f:id:waenavi:20191011211535j:plain

 

「Module1の解放」をして、「いいえ」を選択します。

f:id:waenavi:20191011211537j:plain

 

「Module1」が消えます。そして、マクロも無くなります。

f:id:waenavi:20191011211541j:plain

 

11.マクロの本を買って勉強しよう

ここまで、マクロの基本的な使い方について解説しましたが、マクロは下手に使うとコンピュータウィルスにもなる(データが消えたり、書き換わったり・・・)ので、何も分からずにテンプレートを探したり、コードの例文をコピーして使ったりすることはやめましょう。

本格的にマクロを習得したい方は、マクロの入門書を2~3冊買ってゆっくり基礎から勉強しましょう。

<カエレバ>

 


解説は以上です。


12.動画版はこちら(無料)

この記事は、わえなび実力養成講座「わえなび速読VBA単語」Program1-1、1-1-2、1-2、1-2-2 の4本のYoutube動画を書き起こして、加筆修正したものです。

 


Copyright(C)2018-2019 waenavi, All rights reserved. [www.waenavi.com 定礎 平成三十年八月]