在一个数组中声明多个元素的属性

所以当初始化一个数组时,你可以使用:

Dim array(0 to 9) As Integer 

我想要做的是能够声明这样的值:

 array(0 to 4) = 1 

但是这个错误出来了。 那么有没有简单的方法来做到这一点,而不必像这样写每个元素的声明行:

 array(0) = 1 array(1) = 1 array(2) = 1 array(3) = 1 array(4) = 1 

如果存在语法来简化这样的过程,这只是一个普遍的问题。 我的具体需求大致是这样的:

 Sub test() Dim cb(0 to 74) As CheckBox Dim I As Integer For I = 0 To UBound(cb) cb(I) = Worksheets("SheetName").CheckBoxes(I) Next I cb(0 to 6).Enabled = True cb(7 to 74).Enabled = False End Sub 

我将使用此代码来启用/禁用窗体上的不同checkbox组,我宁愿不必每次都单独声明所有75个checkbox组。

循环是必要的,但只是在实例化对象数组的时候处理布尔评估:

 For I = 0 To UBound(cb) Set cb(I) = Worksheets("SheetName").CheckBoxes(I) cb(I).Enabled = (I <= 6) Next I 

其实从这个例子来说,你根本不需要数组:

 Sub test() Dim I As Integer For I = 0 To 74 Worksheets("SheetName").CheckBoxes(I).Enabled = (I <=6) Next End Sub 

没有避免循环,我不认为

 for i=0 to 4 array(i)=1 next i 

昏暗是作为一个变种,然后像这样分配一个数组:

 Dim a As Variant a = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)