Excelマクロの自動記録をやってみよう

毎月、同じ作業をしていて面倒だな、同じ手順の作業を何度も繰り返すことをExcelでやっていることがあったら、もしかしたら劇的に作業が楽になるかもしれません。それがExcelのマクロ(VBA)です。難しいと思うかもしれませんが、Excelには、自分がやった作業を「マクロの記録」として残してくれる機能があります。
015macro3

マクロを使ったことがない場合には、マクロの記録という機能が表示されていないので、リボンのユーザー設定で開発タブを追加するとタブ内に「マクロの記録」が表示されます。「マクロの記録」を実行して、Excelで行の削除や列の削除などをすると、その自分が行った作業をコードで記述してくれます。

015macro1

このExcelの表は、弥生の残高試算表をExcelにエクスポート(書き出し)した状態です。この表だと、不要な部分が多くて見づらいです。不要な行や列を削除して、体裁を整えたいですね。こんな感じに。
015macro2

この弥生からエクスポートしたExcel表から体裁を整えた表までの作業を「マクロの記録」を実行して作業をすると、自分がやった作業がこのようなコードで記述されます。
015macro4
この記録されたマクロを実行すると自分がさっきやった作業と同じことを自動で処理してくれます。

記述されたコードを少し見てみると、
Sub Macro1()
記述
End Sub
Subで始まりSubで終わります。その間に、実行する作業のコードが書かれています。Macro1()は、マクロの名前です。

実行される作業のコードも少し見ていきましょう。
Rows(“1:7”).Select・・・Excelの1行目~7行目を選択するという記述。
Selection.Delete Shift:=xlUp・・・選択している部分(1行目~7行目)を削除して、上方向にシフト(8行目以降のデータが上にいく)するという記述。
Excelの1行目~7行目に入っていた帳票名:残高試算表(年間推移)とかいらない行を削除する作業が実行されます。

Columns(“E:G”).Select・・・ExcelのE列~G列を選択するという記述。
Selection.Delete Shift:=xlToLeft・・・選択している部分を削除して、左方向にシフトするという記述。
ExcelのE列~G列は、まだ入力をしていない月なのでいらない列を削除する作業が実行されます。

こんな感じで、自分がやったことをコードで書いてくれるので、何回か同じようなことを「マクロの記録」をしてみると、コードを見た時に自分がどんなことをしたのか思い出せば、コードの文字が何を意味するかある程度わかるようになります。色々、「マクロの記録」をしながら作業をしてみると面白いです。