【Excel】「マクロの記録」によるExcel操作の自動化

Excel VBAを初めて扱う人はコードを「どう書けば良いのか」、「どこを確認するのか」など分からない事が多くて困る事がよくあると思います。
本記事では上記の様なExcel VBA初心者向けに「マクロの記録」を用いてExcel操作を自動化する方法を解説していきます。
「マクロの記録」はExcel操作をVBAのコードに自動で変換・記録してくれる機能なので書き方が分からなくてもVBAのコードが書け、それを確認・編集していく事で書き方のイメージを掴む事が出来ます。
なお解説はVBA使用前の準備が整っていることが前提で進めるので、まだ準備が出来ていない場合はこちらの記事を参照して下さい。


使用前の準備が整ったので、早速VBAを書いてみたいと思います!

最初にVBAを扱うのなら「マクロの記録」を使って書いてみるのがおススメですよ。

確か「Excel操作をVBAのコードに変換・記録する」機能でしたよね?

その通り!自分が行っている操作がどの様にVBAでは書かれているのかが分かるのでVBAのイメージを掴むのに適しています。
- 「マクロの記録」を用いたマクロの作成が出来る様になる。
- 記録したマクロ(VBAのコード)を確認・編集する事で書き方のイメージが掴める様になる。
※本記事ではWIndows10、MicrosoftOffice365の環境で解説します。
マクロの「記録」と「確認」
マクロの記録
「開発」タブの「マクロの記録」をクリックします。

マクロの記録のダイアログが表示されるのでマクロ名など特に変更が無ければそのまま「OK」をクリックします。

マクロの記録が開始されるので記録したい動作を行います。今回はB2セルに「はじめてのマクロ」と入力する動作を記録してみます。
B2セルへ「はじめてのマクロ」と入力が終わったら、「記録終了」をクリックして記録を終了させます。

マクロの確認
作成したマクロはVBE(Visual Basic Editor)でVBAで書かれたコードを確認出来ます。
先程作成したマクロ「Macro1」がVBAでどの様に書かれているか見てみましょう。
「開発」タブの「Visual Basic」をクリックします。

VBEが表示されるので、その中の「標準モジュール」→「Module1」をクリックすると「Macro1」のコードが確認出来ます。


マクロは標準モジュール内に作成されるので、マクロを作成した時はここを確認しましょう。
マクロの「実行」と「編集」
マクロの実行
ここでは実際に作成したMacro1のマクロを実行してみます。
なおマクロの動作確認の為、先程B2セルに入力した「はじめてのマクロ」は一旦削除してから始めます。

「開発」タブの「マクロ」をクリックします。

先程作った「Macro1」を選択し、「実行」をクリックします。

「Macro1」が実行され、B2セルに「はじめてのマクロ」が入力されます。


今回は「開発」タブからの実行でしたが、この他にも下記方法でもマクロを実行出来ます。
マクロの編集
作成したマクロはVBE上で確認するだけではなく、編集する事も可能です。

今回は先程作成したMacro1の下記2点を変更し、選んだセルの場所に「はじめてのマクロ」と入力する様に編集していきます。
Sub Macro1()
'
' Macro1 Macro
'
'
Range("B2").Select
ActiveCell.FormulaR1C1 = "はじめてのマクロ"
Range("B3").Select
End Sub

この2つを削除しただけでB2セルではなく任意の場所に入力する様に変わるんですか?

はい。元の処理の動きが分かれば、上記2点を削除する意味も分かると思うので順番に解説していきますね。

宜しくお願いします!
Macro1は下記の流れで処理を行っています。
- ①Range(“B2”).Select
⇒B2セルを選択し、アクティブセルにする。 - ②ActiveCell.FormulaR1C1 = “はじめてのマクロ”
⇒アクティブセル(B2セル)に「はじめてのマクロ」と入力 - ③Range(“B3”).Select
⇒B3セルを選択

アクティブセルは今現在選んでいるセルを指していて、この処理では②の入力前に①でB2セルを選んでいるのでアクティブセルは常にB2セルとなります。

だから常にB2セルに入力される動きだったんですね!

なので①を削除する事で、マクロの実行時に選んでいるセルがアクティブセルとして扱われるようになり任意の場所に入力が出来る様になります。

成程。では次の③を削除するのは何故なんですか?

③は②の入力が完了した際にカーソルが移動した動きが記憶されたもので入力する動作には不要な処理です。
これが残っていると入力後毎回B3セルにカーソルが移動してしまうので一緒に削除してしまいましょう。

分かりました!
Sub Macro1()
'
' Macro1 Macro
'
'
ActiveCell.FormulaR1C1 = "はじめてのマクロ"
End Sub

以上で編集は完了で、こちらを実行すると下記の様に任意のセルの場所で入力が出来る様になります。

以上で解説を終了します。
「マクロの記録」はExcel上で行った操作をVBAに自動で変換・記録してくれる便利な機能です。この機能を活用して普段行っている操作をVBAに変換し、色んな書き方のパターンを覚えていく事で自分で書ける処理も広がっていく事が出来ます。
また、VBAの書き方を覚えた後でも、「処理をどの様に書けば良いか?」考える際などExcelの動作を調べるのに役立ちますので是非習得してみて下さい。
最後までお読みいただきありがとうございました。
「4時間のエクセル仕事は20秒で終わる」
- Excelマクロを最初に学ぶ時にお勧めの書籍
- 難しい内容を極力省き、必要なポイントを絞った構成で初心者も理解しやすい!