代号作为常量?



我在Excel 2016 VBA模块中有多个函数/过程,这些函数/过程引用了一个名为DataSheet的代号。

Public Sub LoadRecords()
'***Caution: The 'DataSheet' CodeName is hardcoded (in multiple places).***
With DataSheet.ListObjects(tblName)
'Some code 
Next
End With
End Sub
Function ConcatVars(RowNum As Integer) As String
'***Caution: The 'DataSheet' CodeName is hardcoded (in multiple places).***
For Each Column In DataSheet.ListObjects(tblName).ListColumns
'Some code
Next
End Function

问题:

有没有办法将代号声明为常量?

  • 原因:如果要更改代号,VBA 代码中的引用可以在一个非常引人注目的位置进行更新。

我尝试过的:

如果我把代号放在一个常量中:

Public Const codeName = "DataSheet"

并尝试引用常量:

With codeName.ListObjects(tblName)

我收到此错误:

编译错误:限定符无效

只需定义一个函数(并避免使用相同的函数或变量名称重载现有的 CodeName 属性(:

Function myCodeName() As Worksheet
Set myCodeName = DataSheet          ' << change to your project's Code(Name) 
'Debug.Print myCodeName.CodeName
End Function

相关内容

  • 没有找到相关文章

最新更新