我有以下代码:
Private Enum dbi
m = 0
d = 1
y = 2
hh = 3
mm = 4
ss = 5
ap = 6
size = 7
End Enum
...
Sub CompileData()
...
ReDim startEnd(deplCount * 2) As Date
ReDim excludes(deplCount * 2) As Date
ReDim hasExcls(deplCount) As Boolean
ReDim deplLabels(deplCount) As MSForms.Label
ReDim startLabels(deplCount) As MSForms.Label
ReDim endLabels(deplCount) As MSForms.Label
ReDim exclLabels(deplCount) As MSForms.Label
ReDim exclChecks(deplCount) As MSForms.CheckBox
ReDim mdyLabels(dbi.size * 2 * deplCount) As MSForms.Label
ReDim dateGroup(dbi.size * 4 * deplCount) As MSForms.TextBox
ReDim pctLabels(dbi.size * 4 * deplCount) As MSForms.Label
Dim okButton As MSForms.CommandButton
...
End Sub
请注意,这两个块位于同一模块中,因此即使Enum是私有的,CompileData仍应能够访问它。
我正在重新调整一些数组的大小,因为我不确定在程序启动之前需要从此用户表单中收集多少数据。这段代码已经工作了一个月,但是现在由于某种原因,我在CompileData子代码中收到一个常量表达式编译错误,该错误专门突出显示了“ dbi.size”。枚举突然不被视为常量定义吗?如果我要重新调光,那还重要吗?
答案 0 :(得分:0)
使用工具后,似乎所有对Enum的引用均不起作用。我摘下了“私人”手柄,从而解决了该问题。