9

VBA で書かれた非常に大きなコードがあります (>50,000 行 - 多数のモジュール)。興味深い配列が 1 つあります。この配列の任意の要素の値が変化するすべての条件を見つけたいと思います。値はどのモジュールでも変更できます。スクリプトを 1 行ずつ実行するのは、コードのサイズが大きいため、最も効率的なオプションではありません。

この問題を解決するためのより良い方法を探しています。私の頭に浮かぶ2つの方法は、プログラムでブレークポイントを設定することです(これができるかどうかはわかりません)。(好ましくない)。

したがって、私の質問は次のようになります。

  1. プログラムで VBA コードにブレークポイントを設定することは可能ですか?
  2. 上記の質問に対する答えが「いいえ」の場合、この問題を解決する効率的な方法は何ですか?

更新: コメント/返信ありがとうございます。ほのめかしたように、私は現在のコードへの最小限の変更 (つまり、if ブロックの挿入など) に関心があり、ブレークポイントのアイデアに最も関心があります。実行可能かどうか知りたいです。

4

4 に答える 4

17

特定の条件が真の場合、キーワードを使用してSTOPコードを中断します。

于 2012-07-24T16:11:25.397 に答える
5

注意: これは古いトピックであることは承知していますが、これは他の人に役立つ可能性があります。

あなたは時計を使うことができます:

監視したい変数を右クリック -> ウォッチを追加... ウォッチ タイプ: '値が変化したときにブレーク'

コードを実行している間、ウォッチ ウィンドウ ([表示] メニューからアクセス可能) のおかげで、ウォッチのステータスを確認できます。

于 2013-10-21T16:21:46.947 に答える
1

このような状況では、使用するプログラミング言語に関係なく、Perl、AWK、またはシェルスクリプトで数行のコードを書くことで問題を解決できます: 配列名を含む正規表現を検索します (無視して場合)。ワークブック内のすべてのモジュールとクラスを特定のディレクトリにエクスポートすると、スクリプトがそれらを検索できます。

于 2013-01-07T21:26:02.733 に答える