Excel 2013 マクロ講座11回 マクロの記録とステップ実行

ステップ実行で、1行ずつ順番に実行

ステップ実行で1行ずつ確認

記録したマクロを実行したり、修正した時に、それがきちんと動作するか、一行ずつ確認するのが、ステップ実行です。

Excel 2013 マクロ講座11回

マクロの記録とステップ実行

マクロの記録の実習からはじめます。

サンプルファイルを開いたら、マクロの記録の実習をしましょう。
手順1.見積書シートをコピーする
手順2.コピーしたシート上の入力エリアをクリアする

(サンプルファイルは、こちらから 2013マクロ講座11回サンプルデータ
Excelバージョン:Excel2016201320102007

マクロの記録を開始

マクロの記録を開始します。

マクロ名をつけて、説明も記入しておきましょう。
はじめに、見積書シートを選択してコピーします。

コピーしたシートの入力部分をクリアします。

マクロの記録を終了します。

VBEを開いて、できたコードを見てみましょう。

コードを1行づつ実行してみる。

ステップ実行とは、コードを1行づつ実行することです。

マクロとExcelのウィンドウを並べて1行づつ実行すると、どのコードがどんなことをするのかを確認することができます。
今回は、コードを1行づつ実行してみましょう。
マクロ内にカーソルを置いて、F8キーを押すとステップ実行することができます。

Range("B2:B3,A8:A13,D8:D13").Select
Range("D8").Activate
Selection.ClearContents

のコードですが、
マクロの記録では、D8セルをアクティブにしたことになっていますが、この行は不要です。
すると、以下のようになります。

Range("B2:B3,A8:A13,D8:D13").Select
Selection.ClearContents

さらにこのコードも選択して、選択にたいして、クリアにするという周りくどい記述になっています。
1行にまとめることができます。

Range("B2:B3,A8:A13,D8:D13").ClearContents

Sub 見積書作成()
'
' 見積書をコピーしてクリアし新規見積書を作る
'
    Sheets("見積書").Select
    Sheets("見積書").Copy Before:=Sheets(1)
    Range("B2:B3,A8:A13,D8:D13").ClearContents
    Range("D2").Select
End Sub    
    

コードをコピーしてプログラムを書く

ステップ実行が終わったら、このコードを元に、修正とちょと書き足して 手を加えて行きます。

何をするかというと、伝票ナンバーを前の番号にプラス1して、連番になるようにします。
また、日付を本日の日付に変更します。