当我的同事在其中编写带有Selection
引用的宏时,由于某种原因,它会将单词Selection
更改为小写s
并停止工作。
示例:
Selection.Copy
更改为
selection.Copy
有人可以告诉你发生了什么事吗?我猜他的设置在哪里,因为他以前没有写过任何宏。
答案 0 :(得分:4)
VB编辑器将根据您的代码用于变量,子例程和其他类型的名称的内容自动大写,并且它将使用与类型的范围大致相同的顺序进行大写。
您可以通过查找名为selection
的任何变量并将大小写更改为Selection
来解决此问题。如果您找不到任何内容,请尝试暂时添加名为Selection
的变量,并且所有范围内的内容都会发生变化。
例如,如果您定义一个名为workshEEts
的变量,请注意使用ThisWorkbook.Worksheets.Count
将使用相同的大小写:
Dim workshEEts As Workbook
Debug.Print ThisWorkbook.workshEEts.Count
但是编辑器中也存在一个小问题,因为在删除之后,它甚至会缓存名称。例如,如果从上面的示例中删除第一行,则第二行的大小写保持不变,添加Worksheets
的新用法会导致缓存的大小写:
Debug.Print ThisWorkbook.workshEEts.Count
ThisWorkbook.workshEEts(1).Select
那么,你如何清除缓存?使用您需要的外壳创建一个新变量,即使只是暂时变量,然后更新所有范围内容:
Dim Worksheets
Debug.Print ThisWorkbook.Worksheets.Count
ThisWorkbook.Worksheets(1).Select