我当前的项目具有全局常量,用于定义此项目将搜索的工作簿中的某些行和列.我已经将它们定义为:
Public Const headRow As Integer = 1 Public Const descRow As Integer = 2 Public Const pnumCol As Integer = 1 Public Const teamCol As Integer = 2 Public Const dateCol As Integer = 3 Public Const hourCol As Integer = 4 Public Const typeCol As Integer = 5 Public Const taskCol As Integer = 6 Public Const noteCol As Integer = 7
我想知道是否有更清晰的方法来定义这些,这将允许我以这样的方式写这些:
ColumnNums.team ColumnNums.task ColumnNums.note 'etc
我认为可以通过定义我自己的类型来完成与此相似的事情,但这可能不值得.我基本上希望这是一个简单的方法来记住变量名称,因为我编写了更多代码,以及能够计算每组中有多少项目.在这种情况下,类型或集合是否有用?
对于混合变量类型,您可以将它放在类模块中,命名类模块ColumnNumbers
并将以下代码放入:
Public Property Get Team() As Long Team = 1 End Property Public Property Get TeamName() As String TeamName = "Team One! :-)" End Property
然后你可以在任何模块中使用它:
Dim colNums As New ColumnNumbers Sub foo() MsgBox colNums.Team End Sub
如果您只想返回long
值,请将其放在枚举中:
Enum ColumnNumbers Team = 1 Description = 2 End Enum Sub foo() MsgBox ColumnNumbers.Team End Sub
芯片皮尔森已经做了描述枚举了出色的工作这里是值得一读,如果你还没有发现它们.