选择命令在 VBA 中更改为小写

Selection command changes to lower case in VBA

当我的同事编写了一个包含 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