Excel 如何在VBA中更改方法名称的大小写?

Excel 如何在VBA中更改方法名称的大小写?,excel,vba,excel-2010,Excel,Vba,Excel 2010,在学习VBA的过程中,我从互联网上复制粘贴了很多代码。我注意到,每当我使用一个名为“Add”的方法时,VBA IDE会自动将其更改为“Add”。例如,当我键入ActiveSheet.PivotTables.Add时,它会自动转换为ActiveSheet.PivotTables.Add。工作表也会发生同样的情况。添加,将其更改为工作表。添加。如何恢复方法的默认情况 我知道VBA IDE会根据变量的声明方式相应地更改变量的大小写(请参见:)。但我不确定这是否与我的问题有关。这将发生,因为您在项目中(

在学习VBA的过程中,我从互联网上复制粘贴了很多代码。我注意到,每当我使用一个名为“Add”的方法时,VBA IDE会自动将其更改为“Add”。例如,当我键入
ActiveSheet.PivotTables.Add
时,它会自动转换为
ActiveSheet.PivotTables.Add
工作表也会发生同样的情况。添加
,将其更改为
工作表。添加
。如何恢复方法的默认情况


我知道VBA IDE会根据变量的声明方式相应地更改变量的大小写(请参见:)。但我不确定这是否与我的问题有关。

这将发生,因为您在项目中(或在您可能已加载的某些加载项中)已将某些变量、函数或子项声明为
add

VBA环境将获取变量名/函数名的上一次声明的大小写表示形式,并将它们应用于它们出现的每个实例

例如

这种行为可能是可取的,也可能是不可取的,但绝对是出于设计

如果您想声明变量而不希望它们改变大小写(对某些
Enum
s等有用),您需要执行以下操作

#If False Then
   Dim HeWhoseCaseShallNotBeChanged
   Dim ADd     ' Even methods can be "declared" here. It will have no effect on execution
#End If

这将适用于枚举等。您可以在模块页面顶部声明此
编译器指令。

在IDE中打开空白工作表时会发生这种情况,还是仅在特定的vba项目中发生?这会影响性能吗?我注意到某些方法的大小写较低,但根据我的经验,这并不重要,代码仍应执行。你有错误吗?这是一个晦涩难懂的VBA编辑器怪癖。我使用它对我有利,因为自动更正意味着我没有拼错长变量的名称。与
Ctrl-j
(Intellisense)结合使用,它对于编写大量代码非常有用。如果这是一个问题,我已经在下面的答案中讨论了原因/可能的解决方案。
#If False Then
   Dim HeWhoseCaseShallNotBeChanged
   Dim ADd     ' Even methods can be "declared" here. It will have no effect on execution
#End If