派遣事務員の迷走

派遣事務員コロ子。会社の犬。顔出しNG。常に迷走している。

VBA オブジェクト名を変数名で宣言したら表示がおかしい!

こんにちは。
派犬事務員のコロ子です。

オブジェクト名を変数名で宣言したらオブジェクト名の表示がおかしくなった。

こんなコードがあったとして
f:id:SNegishi:20200726233150p:plain

「Rows」というオブジェクト名があるのにもかかわらず、どうしたことか「rowS」という変数名を宣言してしまった。

f:id:SNegishi:20200726233219p:plain

もちろんコンパイルエラー。
「あっ!しまった。VBAって大文字小文字の区別ないんだよね?」
と思ってよく見たら、全ての「Rows」「rowS」に変更されている!!

慌てて
Dim rowS As Long  を
Dim rowA As Long に変更してもオブジェクト名の表示は「rowS」のまま。

f:id:SNegishi:20200726233254p:plain

「えっー!!こんなことあるの???」
他のモジュールを確認しても全て「rowS」になっている。

しかし、表示は「rowS」でおかしいけど、普通に動く。
その後のコードを書くもインテリセンス表示は「Rows」なのに、選択したとたん「rowS」になる。

直し方

「VBEエディタ壊れちゃった・・・」
パソコンを再起動しても直らないし、気持ち悪いけど動くからまぁいいや、と思いかけたとき、ふと思って再度Rowsで宣言してみた。

直った!!
Dim Rows As Long

と書いたとたん、全ての「rowS」が「Rows」に一瞬で変更された。


こんなことあり?