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

W B*_*eck 5 excel vba selection vbe

当我的同事编写一个包含Selection引用的宏时,出于某种原因,它将单词更改Selection为小写s并停止工作。

例子:

Selection.Copy
Run Code Online (Sandbox Code Playgroud)

更改为

selection.Copy
Run Code Online (Sandbox Code Playgroud)

有人可以告知发生了什么吗?我猜他在某处的设置,因为他以前没有写过任何宏。

Thu*_*ame 7

VB 编辑器将根据您的代码用于变量、子例程和其他类型的名称的大小写自动大写,并且它将以与类型的范围大致相同的顺序大写。

您可以通过查找任何被调用的变量selection并将大小写更改为来解决该问题Selection。如果找不到,请尝试临时添加一个名为 的变量Selection,所有范围内的大小写都会更改。

例如,如果您定义了一个名为 的变量workshEEts,请注意 usingThisWorkbook.Worksheets.Count将使用相同的大小写:

Dim workshEEts As Workbook
Debug.Print ThisWorkbook.workshEEts.Count
Run Code Online (Sandbox Code Playgroud)

但也有在编辑器故障,因为它的缓存甚至是名字你删除一个。例如,如果删除上例中的第一行,第二行的大小写保持不变,并Worksheets在缓存的大小写中添加新的结果用法:

Debug.Print ThisWorkbook.workshEEts.Count
ThisWorkbook.workshEEts(1).Select
Run Code Online (Sandbox Code Playgroud)

那么,如何清除缓存呢?使用您需要的大小写创建一个新变量,即使只是暂时的,然后所有范围的大小写都将更新:

Dim Worksheets
Debug.Print ThisWorkbook.Worksheets.Count
ThisWorkbook.Worksheets(1).Select
Run Code Online (Sandbox Code Playgroud)