代号为常量?
CodeName as constant?
我在 Excel 2016 VBA module 中有多个 functions/procedures 引用了一个名为 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
问题:
有没有办法将 CodeName 声明为常量?
- 原因:如果要更改代号,VBA 代码中的引用可以在一个非常显着的地方进行更新。
我试过的:
如果我把代号放在常量中:
Public Const codeName = "DataSheet"
并尝试引用常量:
With codeName.ListObjects(tblName)
我收到这个错误:
Compile Error: Invalid qualifier
只需定义一个函数(并避免用相同的函数或变量名重载现有的代码名 属性):
Function myCodeName() As Worksheet
Set myCodeName = DataSheet ' << change to your project's Code(Name)
'Debug.Print myCodeName.CodeName
End Function
我在 Excel 2016 VBA module 中有多个 functions/procedures 引用了一个名为 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
问题:
有没有办法将 CodeName 声明为常量?
- 原因:如果要更改代号,VBA 代码中的引用可以在一个非常显着的地方进行更新。
我试过的:
如果我把代号放在常量中:
Public Const codeName = "DataSheet"
并尝试引用常量:
With codeName.ListObjects(tblName)
我收到这个错误:
Compile Error: Invalid qualifier
只需定义一个函数(并避免用相同的函数或变量名重载现有的代码名 属性):
Function myCodeName() As Worksheet
Set myCodeName = DataSheet ' << change to your project's Code(Name)
'Debug.Print myCodeName.CodeName
End Function