web-dev-qa-db-ja.com

ExcelVBAでパブリック変数の値を確認する-ローカルウィンドウの代替

[ローカル]ウィンドウを使用して、プロシージャレベルの変数の割り当てを確認しています。

最近、コードを更新して、プロジェクトごとに変更されないシートから特定の入力を読み取る一連のパブリックレベル変数を作成しました。

これらの変数をチェックしようとすると、ローカルで定義された変数ではないため、[ローカル]ウィンドウに表示されません。

パブリック変数のローカルウィンドウに代わるものはありますか?そうでない場合は、パブリック変数の割り当てをどのように確認する必要がありますか?

6
psychonomics

イミディエイトウィンドウ(他の回答で説明されている)に加えて、ウォッチウィンドウはそのような状況で非常に役立ちます。 表示メニュー-> ウォッチウィンドウでアクティブ化できます: enter image description here

ここで定義できます:

  • 任意の変数(例:パブリック変数)
  • 完全な用語、例えばActiveWorkbook.UsedRange.Address
  • 各時計の範囲
  • 値が変更されたり、結果がTrueになった場合のブレークポイントでも、コードを追加せずに条件付きブレークポイントをすばやく実行できるため、デバッグ時に非常に便利です。ウォッチをmyVar=0に設定し、アクティブ値がTrueの場合に中断の場合、潜在的なバグが「開始」されるとすぐにコードが自動的に停止します。

これらのオプションはすべて、コードモジュール内の任意の変数(または他のコード)を右クリックするか、ウォッチウィンドウを右クリックして表示される[ウォッチの追加]ダイアログで追加できます。

enter image description here

さらに、ダブルクリックするだけで、リスト内のウォッチアイテムを編集できます。

特にデバッグのための非常に便利なツール。 LocalsおよびImmediate windowsと組み合わせて。

18
Peter Albert

イミディエイトウィンドウを使用します。コーディング環境でCtrl + Gを押して、イミディエイトウィンドウに移動します。デバッグモードのときに変数の値を取得および設定できます。プレフィックスを付ける必要がありますか?変数の値を確認します。例

 ?variableName   press enter to get the value
 variableName ="test" press enter to set the value
9
user2063626