コレクションページ

エクセルマクロの関数呼び出し

関数は処理毎に分けるように作成すると良いと思います。同じような処理は1ヶ所に纏めるのがバグを少なくするにも有効ですし、デバッグも進みます。
ココでは2つのマクロを呼び出して連続処理したいと思います。処理はB1に文字を入れ、B1の文字を読み込み文字を追加してA2に文字を入れます。
やり方は色々とあるので他でも調べていただき、自分に合ったやり方をしてください。
こちらのページも参考になれば幸いです。

1・作成したマクロを準備

エクセルのお勉強(HOME)」の「エクセルマクロにコメントを書き込む」を参照ください。
このページに記載してある2つのマクロを使用して記述します。

2・作成した関数を呼び出す関数を記述

今まで作成した関数Sub 指定セルライト()と、Sub 指定セルリードライト()を呼び出す関数を作成します。関数はSub 指定セルリードライトのEnd Subの下に記載します。
関数2つを連続で呼び出し処理します。以下に例を示します。

(例)
'*****************************
'連続処理
'*****************************
Sub 連続処理()

  Call 指定セルライト    '指定セルライト関数呼び出し
  Call 指定セルリードライト '指定セルリードライト関数呼び出し

End Sub

(解説)
・Sub 連続処理()
関数の名前です。Sub ***()で***が関数名になります。
・Call 指定セルライト
指定セルに文字を書き込みます。
エクセルのお勉強(HOME)」の「セルに文字を入れるエクセルマクロを作成してみる」を参照してください。
・Call 指定セルリードライト
指定セルライト関数で書き込んだ文字を読み込み、読込んだ文字に追記し、違うセルを指定して文字を書き込みます。
エクセルのお勉強(HOME)」の「セルの文字を読込むエクセルマクロを作成してみる」を参照してください。
・End Sub
Sub 連続処理()の終了を意味します。


3・ブレークポイントを設定しプログラムを起動してみましょう

マクロを記述すると以下にようになり、関数名の左側でマウスをクリックすると行の色が変わり●が付きます。
ここがブレークポイントとなります。プログラムを走らせると停止する部分です。ココでは3ヶ所にブレークポイントを設定してみましょう。
カーソルを、Sub 連続処理()に持っていき、以下、上部の赤丸を押下するとブレークポイントで行の色が変わり矢印が表示されプログラムが停止します。
Excelマクロ


4・プログラムをステップで進めていきましょう

3番でプログラム停止後、キーボードの「F8」を押下すると、矢印が1行づつ進んでいきプログラムが進んでます。
Call 指定セルライトの部分から処理する関数が移動するのが分かります。そして処理終了後、元の関数Sub 連続処理()に戻り2番目のCall 指定セルリードライトの部分から処理する関数が移動するのが分かります。
「F8」を何回か押して矢印を「End Sub」の行まで進めてみましょう。
Excelマクロ
気づきましたか?上記画像の赤丸部分のA2とB2(赤丸)に文字が入っています。無事に連続でマクロが動作したようです。
もう一回「F8」を押下してEnd Subから抜けましょう。(色と矢印を消してプログラムを終了しましょう)

★POINT

ココで重要なのは、呼び出す関数の順番を間違えないようにしましょう。思った動作をしなくなります。