当我的同事编写一个包含 Selection
引用的宏时,由于某种原因,它将单词 Selection
更改为小写的 s
并阻止它工作。
示例:
Selection.Copy
更改为
selection.Copy
有人可以告诉我发生了什么吗?我猜想这是他在某个地方的设置,因为他以前没有编写过任何宏。
最佳答案
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
关于excel - VBA 中的选择命令更改为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39658089/