Excel
PR

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

yuyu_tech
記事内に商品プロモーションを含む場合があります

Excel VBAを初めて扱う人はコードを「どう書けば良いのか」、「どこを確認するのか」など分からない事が多くて困る事がよくあると思います。

本記事では上記の様なExcel VBA初心者向けに「マクロの記録」を用いてExcel操作を自動化する方法を解説していきます。

「マクロの記録」はExcel操作をVBAのコードに自動で変換・記録してくれる機能なので書き方が分からなくてもVBAのコードが書け、それを確認・編集していく事で書き方のイメージを掴む事が出来ます

なお解説はVBA使用前の準備が整っていることが前提で進めるので、まだ準備が出来ていない場合はこちらの記事を参照して下さい。

関連記事
【Excel】Excel VBA使用前の準備
【Excel】Excel 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上で動作を確認する
スポンサーリンク

マクロの編集

作成したマクロはVBE上で確認するだけではなく、編集する事も可能です。

今回は先程作成したMacro1の下記2点を変更し、選んだセルの場所に「はじめてのマクロ」と入力する様に編集していきます。

Sub Macro1()
'
' Macro1 Macro
'

'
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "はじめてのマクロ"
    Range("B3").Select
End Sub
  • 7行目のRange(“B2”).Selectを削除
  • 不要な処理の9行目のRange(“B3”).Selectを削除
鳩野
鳩野

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

悠

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

鳩野
鳩野

宜しくお願いします!

Macro1は下記の流れで処理を行っています。

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の動作を調べるのに役立ちますので是非習得してみて下さい。

最後までお読みいただきありがとうございました。

Check✔

4時間のエクセル仕事は20秒で終わる

  • Excelマクロを最初に学ぶ時にお勧めの書籍
  • 難しい内容を極力省き、必要なポイントを絞った構成で初心者も理解しやすい!
スポンサーリンク
ABOUT ME
<strong style=悠" width="90" height="90" />
エンジニア
当ブログでは私が仕事やプライベートでこれまで学んできたPCに関連した技術・知識をアウトプットしていきます。
発信した内容が困った時の一助になる様、頑張って更新していきます!
記事URLをコピーしました