5

同僚がSelection参照を含むマクロを作成すると、何らかの理由で単語Selectionが小文字に変更sされ、動作しなくなります。

例:

Selection.Copy

に変更

selection.Copy

誰かが何が起こっているのかアドバイスしてもらえますか? 彼は以前にマクロを書いたことがないので、彼の設定がどこかにあると思います。

4

1 に答える 1

7

VB エディターは、コードが変数、サブルーチン、およびその他の型に使用する名前の大文字と小文字に従って自動大文字化します。また、型へのスコープとほぼ同じ順序で大文字化します。

selection呼び出された変数を見つけて大文字と小文字を に変更することで、問題を解決できますSelection。何も見つからない場合は、という変数を一時的に追加Selectionしてみてください。スコープ内のすべてのケーシングが変更されます。

たとえば、 という変数を定義する場合、 usingは同じ大文字小文字workshEEtsを使用することに注意してください。ThisWorkbook.Worksheets.Count

Dim workshEEts As Workbook
Debug.Print ThisWorkbook.workshEEts.Count

ただし、名前を削除した後でも名前がキャッシュされるため、エディターにも問題があります。たとえば、上記の例から最初の行を削除すると、2 行目の大文字と小文字は変更されず、Worksheetsキャッシュされた大文字と小文字の結果の新しい使用法が追加されます。

Debug.Print ThisWorkbook.workshEEts.Count
ThisWorkbook.workshEEts(1).Select

では、どのようにキャッシュをクリアしますか? 一時的であっても、必要な大文字小文字を使用して新しい変数を作成すると、スコープ指定されたすべての大文字小文字が更新されます。

Dim Worksheets
Debug.Print ThisWorkbook.Worksheets.Count
ThisWorkbook.Worksheets(1).Select
于 2016-09-23T12:45:38.453 に答える