excel - VBA 中的选择命令更改为小写

标签 excel vba selection vbe

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

相关文章:

android - 在android webview中手动触发剪切/复制/粘贴

WPF ListBox 失去焦点后将焦点设置为第一项

excel - 将自定义数字字段拆分字符串给出类型不匹配

由 ADO(来自 VBA)创建的数据库在 MS Access 中打开后减小了文件大小。为什么?

excel - 如何获取数据透视表中 "Total Sum"列的范围? Excel VBA

excel - 如何从 Excel 中获取单元格超链接地址?

excel - 使用 VBA 从 Excel 2007 自动化 Onenote 2010?

google-apps-script - 通过绘图启动的脚本激活范围时,无需在键入之前单击

vba - 以结构化方式命名全局变量

excel - 创建数据透视表时过程调用或参数无效