Excel VBA の基本

【Excel簡単マクロ作成】自動作成マクロを作ってみる

Excelのマクロを作る方法としては

(1) 実際にExcel上で作業をして、そのセルの動きをExcel側で自動記録させる方法
(2) VBE上に直接VBAでコードを書いていく方法

の二つがあります。

ここでは
(1)の自動でマクロを記録作成し、操作する基本についてお話しします。

まだやられたことがない方は是非マスターしてください。

ここを読まれて理解できましたら、自分で簡単なマクロを作ってみてください。
難しく考えず気楽にやってみてください。

うまくいかなくても、慣れるまでやってみることです。
とにかく最初のうちは「トライ アンド エラー (Try & Error)」を繰り返しです。

頭より体で覚えることが一番です。
体が覚える頃は、頭は理解できた状態になっています。

これも私が経験から学びました。

記録マクロを作ってみる

ここに「近畿・中国・四国・九州」の各府県の県名・県庁所在地・面積・人口を記した表があります。

【作業1】これから「人口の多い順に並べ替える」マクロを作ります。

※ この表が必要な場合は ココ からダウンロードすることができます。
注)ダウンロードしてこのファイルを開くと『保護ビュー 注意:インターネットから入手したファイルはウイルスに感染している可能性があります・・』の表示が出ます。このファイルは安全ですので「編集を有効にする(E)」のボタンを押されてかまいません。

画面上部の「開発」タブをクリックしますと、下記のような状態になります。
左の方にある「マクロの記録」をクリックします。
そうしますと「マクロの記録」と書かれた次のダイヤログが現れます。

この「マクロ名(M)」に任意のマクロにつける名前を入力します。

わかりやすい名前がいいです。
とりあえずここでは「人口順」としておきます。

 

ここから実際に「並び替え」の作業を行います。

表内の任意のセルに(表内ならどこでもOKです)マウスを合わせ、一度クリックします。
上部「データ」タグをクリックします。

「並べ替え」をクリックします。
どの基準で並び替えるのか、指示を求める画面が表示されます。

①「最優先されるキー」は V から「人口」
②「順序」は V から「大きい順」
を選択し、
③最後に「OK」を押します。

これで「人口順」並べ替えができました。

カーソルはひとまず左上「A1」に合わせ、マウス左ボタンを1回クリックします。
そして再び上部「開発」タグをクリックします。

□記録終了  をクリックします。
これで「マクロの作成」は終了です。

ではここで「人口順」のマクロが「どこに、どのように」作られているのか見ることにします。

また「開発」タグを押してください。
左端に現れる「Bisual Basic」をクリックします。
または キーボードの「Altボタン」を押したまま「F11キー」をクリックしてもOKです。
「標準モジュール」をクリックしてください。
「Module1」は表示されますので、これをクリックしてみてください。

これがマクロです。

非常に難しそうですが、気にしないでください。
今は「マクロってのはVBEにこうやって書くのだな」と軽く見る程度で十分です。

【作業2】それではこの人口順に並べられた表を、最初のNo.順に戻すマクロを作ってみましょう。

今回は手順のみを記載し、画像は入れません。
手順を見ながら、実際に行ってください。

01. 上部「開発タブ」をクリック
02. 「マクロの記録」をクリック
03. マクロ名(M) に No順 と入力し、OKボタンを押す
04. 表を選択した状態で、上部「データタグ」を押し「並べ替え」のボタンを押す
05. 並べ替えの「最優先されるキー」はNo.を選択
06. 「順序」は 小さい順 を選択し、OKを押す
07. No.順に並べ替えられたことを確認し、カーソルを A1 に置く
08. 「開発」ボタンを押し、「記録終了」を押す。

上部左の「Visual Basic」を押すか、Altキーを押したままF11キーを押してください。

「人口順」のマクロに続いて、「No順」のマクロが作られているはずです。

これらの扱いについては今から説明します。
一旦右上の「×ボタン」で閉じてください。

 

この他にも自分で簡単な表を作って、このような並び替えをやってみてください。
A1セルのデータをコピーして、E5セルにペーストしてみるマクロを自動作成してみてください。

いろいろやってみてください。

この自動記録のマクロは簡単で便利です。
しかし細かい動きまで自動作成させるには限界があります。

ですからこの自動作成だけでなく、実際に自分でマクロを書いていくスキルを習得することもとても大切なことです。

マクロは自動で対応できるものは自動で、自動で対応できないものは自ら書いていく。
この両刀使いが最も大切であり、あなたのプログラムスキルを飛躍的にアップさせます。

マクロを動かしてみる

自動作成で二つのマクロが作成されました。
・人口順
・No順

Excel画面上の「開発」を押します。
左から二つ目に「マクロ」があります。
これをダブルクリックしてください。

このような マクロ名(M) が表示されました。
ここで実行したいマクロ名を選択し、「実行(R)」ボタンを押すとそのマクロが実行されます。

二つのマクロをそれぞれ実行してみてください。
マクロの良さが実感できるはずです。

「実行(R)」と同様に、選択したマクロの「編集(E)」や「削除(D)」もおこなえます。
また「オプション(O)」では選択されたマクロのショートカットキーの設定もおこなえます。

「マクロの編集」は、これからVBAを勉強するにつれ必要になってきます。
自動で作成されたマクロの一部を書き換えることが多く出てくると思います。

そうしたときにここで編集作業をおこないます。
今は「そういうものだ」ということだと知っておく程度でOKです。


ここでこれらのマクロを実行する「ボタン」を作る方法を覚えてください。
これを覚えると「実行」が簡単にできます。

Excel画面上の「開発」を押します(既に押されている)。
中ごろに「挿入」と書かれたカバンのマークが見えますよね。
ここの下 v を押してください。

「フォームコントロール」「ActiveX コントロール」が現れます。
ここで「フォームコントロール」の上段左をクリックします。

Excelの表右側の適当なところにカーソルを移動し、再度クリックします。
先ほど見た「マクロ名(M)」が現れます。

ここで「人口順」を選択します(ブルーに変わります)。
「OK」を押します。

「ボタン」が現れます。
これで「人口順」を実行するためのボタンが作られました。

ボタンから離れたところでいったん左クリックします。
〇が消えます。

このボタンを押してみてください。
マクロが実行されるはずです。

このままでは何のボタンかわかりにくいので修正(装飾)します。
ボタンの上にカーソルを合わせ「右クリック」します。
ボタンの回りに〇がつきますね。

この時下記のようになったらキーボードの「Esc」を押して消します。
右下の〇にカーソルを合わせ、左クリックしたまま右下に引いてください。
ボタンの大きさが変わります。
自分の好みの大きさになったらマウスの左クリックを解除します。

「ボタン1」(やり替えるたびに番号は変わりますが気にしなくてOK)が現れます。
もう一度ボタンにカーソルを合わせ、右クリックします。

「ボタン」の文字の上で左クリック
ボタンの文字左側にカーソルがセットされます。
この状態でキーボードの「Delete」キーを数回押して文字を全て削除します。
そのあと「人口順」と入力します。

ボタンから離れたところにマウスを移動し左クリック。
これで「人口順」の実行ボタンが作成されました。

細かく手順を書きましたので、非常に大変そうに思われるかもしれませんが、何度もやってみてください。
慣れれば簡単です。

同様に「No順」のボタンも作ってください。
「人口順」と「No順」の二つのボタンを交互に押してみてください。

マクロの便利さが実感できます。

マクロを保存する

ここでマクロのあるExcelを保存して終了する手順を説明します。

マクロのあるExcelを保存する場合は、マクロが含まれていない通常のExcelの保存と少し異なります。

まず左上の「ファイル」をクリックします。

「名前を付けて保存」をクリック。
右側の「参照」をクリックします。

左側で保存するフォルダーを選択します。
あなたの決めたファイル名を入力します。
その下の「ファイルの種類(T)」欄の右 v を押します。

現れたダイアログから「Excel マクロ有効ブック(*xlsx)」を選択します。
「保存(S)」ボタンを押して終了です。
これでマクロが含まれたExcelは保存されました。

マクロを開く

マクロを含んだExcel を開くと 下記のような「セキュリティ警告」が出ます。
この状態は「マクロは無効」ということです。
つまりマクロは使用不能の状態を意味します。

マクロを有効化する必要があります。
下記の処理が必要です。

この処理を行うことで、マクロが使えるようになります。

この「セキュリティ警告」が表示される理由ですが、ウイルスが含まれたマクロの実行を防止するためです。
Excelでは特定のフォルダー以外に保存されたマクロが含まれたブック以外はマクロが全て無効と設定されます。

 

マクロを削除する

古くなり不要となったマクロや、間違いが判明して削除すべきマクロはすみやかに取り除くべきです。

マクロ一覧のダイヤログから該当するマクロを削除する方法です。

(1)「開発」タブをクリックし、「マクロ」をクリックします。
(2)「マクロ一覧」のダイヤログが表示されます。
(3)削除したいマクロを選択し、「削除(D)」ボタンをクリックします。
(4)確認メッセージが表示されますので、「はい」をクリックします。
これでマクロ一覧から不要なマクロは削除されました。