我想像这样在VBA Makro中总结我的Const变量:
Private Type Company
Public Const CompanyNameColumns As String = "14"
Public Const CompanyNameStartRow As Integer = 5
Type End
我无法运行此代码。我认为问题在于,无法在类型声明中定义Const。有没有人解决这个问题?
所以,花了我一秒钟,但后来却像一吨砖头一样把我打晕了。
TL; DR:您不能在类型定义期间分配值,但是有一种正确的方法可以执行您要执行的操作。
之所以不能为其分配值,是因为您正在定义一个类型。我知道这听起来是周期性的和多余的,但这就是正在发生的事情。您正在尝试在旨在定义数据结构的位置分配值。这就是UDT的全部工作。它定义了一个结构。将值分配给结构没有意义。
如您所见,一种解决方案是创建一个新模块并在其中存储常量。
常数低
Public Const CompanyNameColumns As String = "14"
Public Const CompanyNameStartRow As Integer = 5
然后被这样称呼...
Constants.CompanyNameColumns
Constants.StartNameRow
这很好,但冒着成为所有人的风险。最好将它们及其相关的逻辑一起移到类模块中。这样,所有相关的逻辑和数据都放在一个地方,而不是分散在项目中的多个* .bas文件中。
如果您要走类路线,但类仅保留此数据结构,而没有任何真实状态,则可能需要考虑将它们设置为全局默认实例。这类似于其他语言中所谓的“静态”类。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句