【问题标题】:How does one restore default case to a variable in VBA (Excel 2010)?如何将默认大小写恢复为 VBA(Excel 2010)中的变量?
【发布时间】:2020-11-15 14:08:17
【问题描述】:

在某些时候,我不小心将变量命名为 range(全部小写),从那时起 Visual Basic for Applications 编辑器拒绝使用 Range(Pascal 大小写);它会自动将其更正为小写。我怎样才能重置它的“大脑”以忘记我过去的违法行为?

注意:我尝试过进行全局替换,但是当我编辑任何一行时,它会再次重新更正。

显然,这是一个非常非常次要的外观问题,但每次我输入Range 时看着 R 变软很烦人。

【问题讨论】:

  • 在您开始尝试将您的 VBA 代码放入无法忽略大小写的版本控制系统(例如,mercurial)之前,这是一个非常非常 次要的外观问题。在这一点上,它变得非常非常恶化。

标签: excel vba editor excel-2010


【解决方案1】:

您需要在某处(实际上是在任何地方)的声明行(例如Dim 语句)中更改变量的名称。

这是 VBA IDE 最烦人的“功能”之一(好像版本控制对 VBA 来说还不够难,不断更改大小写让我发疯)。 变量的大小写在 VBA IDE 中全局更改,无论变量的实际范围如何。 VBA IDE 似乎采用了最近声明获胜的方法。

通常您需要做的只是在某处的声明行中更新案例,但 VBA 可能很顽固。我还没有完全破解密码。

注意:正如@Scorchio 在下面的 cmets 中指出的那样,变量 case 在当前项目中全局更改;可能在 VBA IDE 中打开的其他项目(例如在 Excel 中工作时的其他工作簿)不受影响。

更新:我今天在我的 Access/VBA 博客中扩展了此条目:VBA's Case Changing "Feature"

【讨论】:

  • 啊,当然!我只是在其中添加了一个“Dim Range as String”,VBA 修复了所有出现的情况,然后删除了该行。谢谢你:)
  • 没有这些知识我是如何生存的?!
  • “这是 VBA IDE 最烦人的“功能”之一”。你搞定了。我无法忍受这种行为
  • 我以为我弄丢了 - 感谢您解决这个问题。
  • “变量的大小写在 VBA IDE 中全局更改,无论变量的实际范围如何。”我认为这不是真的,我已经在 Excel 2010 上对此进行了测试,它似乎是项目全局,而不是 IDE 全局。
【解决方案2】:

最后的声明时间获胜。

  1. 在第一行输入Dim Range As String
  2. 移到下一行
  3. 返回并删除您的Dim Range As String

【讨论】:

  • 同样,如果您设法将一个变量命名为与标准对象相同的名称,而现在该对象的大小写混乱了,请执行类似的技巧:Private WithEvents querytable As querytable 后跟 Private WithEvents QueryTable As QueryTable。按回车键,两者都应该大写。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-13
  • 2014-09-13
  • 1970-01-01
  • 1970-01-01
  • 2019-02-26
相关资源
最近更新 更多