I. ステップ実行

使用するファイル:「マクロの練習」フォルダー「いちばんやさしいExcelVBA.xlsm」

(vba30)
(vba30)

Sub プロシージャを1行ずつ実行する「ステップ実行」を活用しましょう。

 

ここでは、マクロの作成時や検証時にとても便利な、ショートカットキー「F8」で利用できる、ステップ実行について見ていきます。

I-1. ステップ実行はマクロ修正や、マクロの動きを確認できる便利な機能

Sub プロシージャを作成し、ショートカットキー「F5」で実行して、期待通りの結果になればいいが、そうでないこともよくある。そのような場合、Subプロシージャのどこに問題があるのかを探して修正しなければならない。

 

修正作業を行うときは、Subプロシージャを一行ずつ実行する「ステップ実行」がとても便利だ。

 

また、マクロの動きを確認する時にも使えます。

 

I-2. 演算子を使ったマクロをステップ実行する

  1. ステップ実行の準備

マクロ付ファイル「いちばんやさしいExcelVBA.xlsm」を開き、VBE を起動する。

A5:A10セル、及びB2:B3セルのデータを削除する。

Excel の A 列と VBE の両方が見える状態に配置する。

(g22) セルデータを削除し、ExelとVBE両方が見える位置をする
(g22) セルデータを削除し、ExelとVBE両方が見える位置をする
  1. ステップ実行を開始する

ステップ実行する Sub プロシージャ「演算子を使ったマクロ」内にカーソルを置き、「F8」キーを押す。

この結果、Sub 行が黄色表示となる。

(g23) ステップ実行を開始する
(g23) ステップ実行を開始する
  1. 「Range("A5").Value = …」行が黄色表示となる

再度「F8」キーを押すと、最初の行が黄色表示となる。

この時点では、まだ A5 セルには何も代入されていない。すなわち、黄色表示の行を実行する「直前で停止」していることが分かる。

別の言い方をすれば、黄色表示の行はこれから実行する行を表していると言える。

(g24)「Range("A5").Value =・・・」行が黄色表示となる
(g24)「Range("A5").Value =・・・」行が黄色表示となる
  1. 「Range("A6").Value = …」行が黄色表示、A5 セルにデータ入る

さらに「F8」キーを押すと、A5 セルにはデータが代入され、黄色表示の行も次の行に移る。

但し、A6 セルへの代入はまだ行われていない。

(g25)「Range("A6".Value =・・・」行が黄色表示、A5セルにデータ入る
(g25)「Range("A6".Value =・・・」行が黄色表示、A5セルにデータ入る
  1. 「Range("A7").Value = …」行が黄色表示、A6 セルにデータ入る

更に「F8」キーを押すと、A6 セルにデータが代入され、黄色表示が次の行へ移る。

(g26)「Range("A7").Value = …」行が黄色表示、A6セルにデータ入る
(g26)「Range("A7").Value = …」行が黄色表示、A6セルにデータ入る
  1. 最後までステップ実行を繰り返す

以降同様に「F8」キーを押して、各セルへのデータ代入と、実行直前の行の黄色表示を繰り返す。

(g27) 最後までステップ実行を繰り返す
(g27) 最後までステップ実行を繰り返す
(g28)
(g28)

I-3. ステップ途中でエラーが発生した時の対処

以下のエラーはステップ実行途中で起こるだけでなく「F5」キーで実行中も同様に起きえます。

このようなエラーが発生した時の対処手順を確認します。

 

  1. マクロ実行中に「実行時エラー」発生。「デバッグ」をクリック
(g29)「実行時エラー」
(g29)「実行時エラー」

  1. エラー箇所が黄色表示される
(g30)
(g30)
  1. エラーを修正する前に、「実行」を「リセット」する
  1. エラーを修正する

I-4. ステップ途中から一気に実行するには「F5」キーを押す

ステップ実行をしている途中から、一気にマクロを実行させるには、これまでと同様「F5」キーを押せば、最後まで実行させることができます。