アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
タイトルの通りなんですが、
ExcelVBAにて、最後まで計算をさせずに
途中である変数がその段階でいくつの値が入っているかを
見るためにはどうしたらいいでしょうか??

どうにかすればできそうな気がするのですが、
やり方がわからなくて困っています。

どなたか助けてください。
よろしくお願いします。

A 回答 (6件)

1.ローカルウィンドウを、表示させる。


2.ブレークポイントまで実行したら、見たい変数にマウスカーソルを重ねる。
3.見たい変数を、シートに転記する。

以上の何れかで出来ます。
    • good
    • 0
この回答へのお礼

ありがとうございます。

すみませんローカルウィンドウとは
どのウィンドウのことを言うのでしょうか?

お礼日時:2007/12/04 19:09

[F8]キーでステップ実行してみてはいかがでしょうか?

    • good
    • 0
この回答へのお礼

なるほど!F8キーで1行ずつ実行できるのですね!

これが知りたかったです!
ありがとうございます。

お礼日時:2007/12/04 19:20

まず、マクロの進行を一時停止するために、ブレークポイントを設置します。


目的とするステートメントで F9キーを押して、設置します。

次いで、イミディエイト ウィンドウを表示させ、「?(スペース)変数」と入力すると、変数の値が表示されます。

なお、F8キーを押すと、1行ずつマクロを実行しますので、デバッグの際に使用してみてください。


変数のところに、カーソルを合わせるだけでも、値が表示されることもあります。
    • good
    • 0

いくつか方法があると思いますが、3種類書きます。



1)MsgBoxを入れる。
  変数を参照したいところで、
MsgBox(cStr(変数名))
と入れて下さい。ダイアログボックスに変数の値が表示されます。
  If文を使えば表示で止まる条件の指定も可能です。
If 条件 Then MsgBox(cStr(変数名))

2)ブレークポイントを設定する。
  これは↓を参照して下さい。
http://www.vba-world.com/breakpoint.html
  止まったときに、参照したい変数にカーソルを合わせると値が表示されます。

3)debug.print
  これは↓を参照して下さい。
 http://www.ken3.org/vba/iwind.html

以上、ご参考になれば。 
    • good
    • 0

一番簡単なのは、その段階の変数をどこかのセルに表示させればいいと思いますが・・・

    • good
    • 0
この回答へのお礼

ありがとうございます。
確かにその方法が一番わかりやすいですね。
ただ…毎回毎回プログラムを書き換えるのが
大変ですね・・・。

お礼日時:2007/12/04 19:22

たまにしか通らないルーチンのある行で止めたとき(または任意の時刻やキッカケで止めたとき)であれば(エラー解析など)


既回答の
Msgbox
Deebug。Prinnt
ブレークポイント
は役立ちますが、
下記では毎回表示が出ては使用に耐えないでしょう。
ーー
非常に多い回数を繰り返して処理する型のプログラムで、途中の収束値などを見たいようなときは、任意の時間にストップをかけて(再開可能中断が望ましいのだが)そのときの変数の値をVBAで見るのは難しいと思う。
カウンタや条件変数を作り、繰り返しの毎回IFで聞いて、所定回数(例。1/10進行ごとなど決める)や所定変数値(例。店番が005になったら)になったときにMsgbox、Debug.Printで表示するのが易しいのではないですか。プログラムに組み込むので、いつか削除の必要があるかもしれませんが。
ーー
私がPauseBreakキーを押したときの制御権とアプリの変数の捉え方のAPIなど知らないからいうのですが。
    • good
    • 0
この回答へのお礼

なるほど。非常に長いプログラムだとF8キーで進めるのは
確かに現実的ではありませんね…。

ありがとうございます。
とりあえず今作っているプログラムは短い単純なものなので
F8キーで進めてみようと思います。

勉強になりました、ありがとうございました。

お礼日時:2007/12/04 19:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!