select命令在VBA中变为小写

当我的同事写入一个带有Selection引用的macros时,出于某种原因它将Selection的字改为小写字母s并停止它的工作。

例:

 Selection.Copy 

改变

 selection.Copy 

有人可以build议发生什么事吗? 我猜猜他的设置在某个地方,因为他以前没有写过任何macros。

VB编辑器会根据你的代码用于variables,子例程和其他types的名称的shell来自动大写,并且它将以与作用域大致相同的顺序大写为一个types。

您可以通过查找任何称为selectionvariables并将套pipe更改为Selection来解决问题。 如果找不到,请暂时添加一个名为Selection的variables,并且所有范围内的套pipe都将更改。

例如,如果您定义了一个名为workshEEts的variables,请注意使用ThisWorkbook.Worksheets.Count将使用相同的shell:

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

但编辑器中也存在一个小故障,因为即使删除之后 ,它也会caching这些名称。 例如,如果从上面的示例中删除第一行,则第二行的shell保持不变,并在caching的shell中添加Worksheets的新用法结果:

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

那么,你如何清除caching? 创build一个新的variables,即使只是暂时的,你需要的shell,然后所有的范围shell将被更新:

 Dim Worksheets Debug.Print ThisWorkbook.Worksheets.Count ThisWorkbook.Worksheets(1).Select