Excel エクセルマクロ塾 マクロ・VBAを初心者から学ぶ
Excelマクロ塾メニュー

はじめに

エクセルマクロの基本

エクセルマクロの実践

VBAの基本

VBAの実践

マクロ・VBAの用語集

マクロ・VBAの関数一覧

基本からVBAをしっかり学びたい
初心者にはスクールがおすすめ!

アビバでは1ヶ月でマクロ・VBAをマスターできる講座を実施しています。プロの先生から教えてもらうので安心して勉強できますね!

エクセルマクロ塾
エクセルマクロ塾

 

マクロをVBAから修正する

ここまでVBAについて知っておきたい最低限の内容について解説してきました。

 

このページでは、それらの内容を踏まえ、これまでにこのサイトで作ったマクロをVBAから編集してみることで、マクロの記録とVBAでのプログラミングとの関係をより深く理解してみたいと思います。

 

今回は、マクロの記録のページで作った「A5セル削除」という単純なマクロをVBAから編集してみることにしたいと思います。(「A5のセルを削除するマクロを持っていない方は、こちらからダウンロードして下さい →A5セル削除のマクロ

 

 

このマクロは非常に単純なマクロで、その名の通りA5のセルの中身を削除するマクロです。
前回、このマクロを作ったときには「マクロの記録」によって、これを作成しましたが、今回はこのマクロに記録してある内容をVBAの編集エディタであるVBEから変更してみたいと思います。

 

今回は、【A5のセルを削除】という内容から → 【A6のセルを削除】という内容へ、マクロの内容を変更します。

 

 

@「A5セル削除」というマクロを含んだエクセルシートを開く

「A5セル削除」というマクロを含んだエクセルシートを開きます。

マクロを含んだエクセルシート

 

 

AVBEを起動する

 

エクセルシートを開いたら、VBEを起動します。

VBE

 

 

 

B「A5のセルを削除する」という内容を「A6のセルを削除する」という内容へ変更

VBEの起動が確認されたら、「A5のセルを削除する」という内容を「A6のセルを削除する」という内容へ変更します。

 

VBEを開くと

 

Sub A5セル削除()
'
' A5セル削除 Macro
' マクロ記録日 : 2009/1/31 ユーザー名 : Administrator
'
'
Range("A5").Select
ActiveCell.FormulaR1C1 =""
End Sub

 

という、このマクロのソースコードがソースエリアに書いてあるのが読み取れます。

 

この程度のマクロでは、書いてあるソースコードが非常に単純なので簡単に理解できると思いますが、このソースコードの中では

 

Range("A6").Select
ActiveCell.FormulaR1C1 = ""

 

という部分が「A5のセルを削除する」という命令になっています。

 

このソースコードのうち 「A5」の部分を → 「A6」に変更します。
つまり、A5の部分を削除し、A6に変更してやれば良いのですね。

 

Range("A6").Select
ActiveCell.FormulaR1C1 = ""

 

これで、このマクロの内容が「A5のセルを削除する」という内容から「A6のセルを削除する」という内容へ変更されました。

 

 

C変更した内容を保存し、VBEを終了する

 

内容を変更したら、VBEで変更した内容を保存します。

 

保存するためにはメニューバーの中にある、保存ボタンをクリックするか、「Ctrl + S」のショートカットキーでも保存してください。

 

これで、マクロをVBAから編集する作業は終了です。
予想していた以上に簡単な作業ではなかったのでしょうか?

 

このように、自分の作ったマクロをVBEを使って編集することを繰り返すことによって、VBAは上達します。また、自分の知らないソースコード(プロパティなど)についても理解が深まるでしょう。

 

VBA