Home » ExcelVBA Rangeオブジェクト » ローカルウィンドウでセルの値を確認する

ローカルウィンドウでセルの値を確認する

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「vba ローカルウィンドウにセル値を表示させたい」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

VBE(Visual Basic Editor)のローカルウィンドウで、セルの値を確認するには、どうすればいいのかを探していらした方による検索キーワードです。

ローカルウィンドウに表示されるのはステップ実行中

まず、ローカルウィンドウにデータが表示されるのは、ステップ実行中だということをおさえておきましょう。

コード内にDebug.Printステートメントを書いた場合は、実行後にイミディエイトウィンドウでデータを確認できますが、ローカルウィンドウで変数内のデータを確認できるのは、あくまでもステップ実行中です。

ステップ実行を行うには、ツールバーやメニューバーからの操作よりも、ショートカットキー[F8]が便利です。

[スポンサードリンク]

ローカルウィンドウには変数が表示される

ローカルウィンドウに表示されるのは、変数です。


Sub samp_1()
 Dim tmp As Variant
 Dim obj As Object
 Dim arr(3) As String
End Sub

上記のSubプロシージャをステップ実行すると、実行行(黄色表示になっている行)が、Subステートメントにある時点(プロシージャが実行されていない状態)で、下図のように、ローカルウィンドウに変数の中身が表示されるようになります。

ローカルウィンドウでセルの値を確認する

ちなみに上記の状態は、変数に代入を行う前ですから、すべての変数で初期値が表示されています。

変数とみなされるものもローカルウィンドウに表示される

変数とみなされるものも、ローカルウィンドウには表示されます。
通常はOption Explicitステートメントをモジュールの先頭に書いて、変数を必ず宣言するはずですが、Option Explicitステートメントが書かれていない場合には、Dimキーワードを使って宣言をしなくても、変数とみなされてしまいます。
そのような変数とみなされたものも、ローカルウィンドウに表示されます。

Option Explicitステートメントをコメントアウトしてから、以下のSubプロシージャをステップ実行してみてください。


Sub samp_2()
 Dim num As Long
 nun = InputBox("整数を入力してください。")
End Sub

上記のプロシージャは、整数を代入するつもりで変数「num」をLong型で宣言していたにも拘わらず、Option Explicitステートメントがないために、タイプミスをして「nun」と間違えて入力してしまったという状況を仮定してください。

下図のように、明示的に宣言した変数・numも、タイプミスを行って変数とみなされてしまったnunもローカルウィンドウに表示されます。

ローカルウィンドウでセルの値を確認する

ローカルウィンドウでセルの値を確認する

で、ローカルウィンドウでセルの値を確認するなら、一旦、セルの値を変数に代入して、ステップ実行すればOKです。


Sub samp_3()
 Dim val As Variant
 val = Range("A1").Value
End Sub

例えばA1セルに適当にデータを入力しておいて、上記のプロシージャをステップ実行すると、ステップ実行を開始時点で下図のような状態になり、

ローカルウィンドウでセルの値を確認する

変数にセルの値を代入する、
  val = Range("A1").Value
の行が実行されたときにA1セルに「12345」という数値が入っていれば、下図のようになります。

ローカルウィンドウでセルの値を確認する

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » ローカルウィンドウでセルの値を確認する

TrackBack:1

TrackBack URL
ウォッチウィンドウでセルの値を確認する from インストラクターのネタ帳
VBEのウォッチウィンドウでセルの値を確認する方法をご紹介しています。

Home » ExcelVBA Rangeオブジェクト » ローカルウィンドウでセルの値を確認する

「ExcelVBA Rangeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.