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

时间:2017-08-09 18:44:11

标签: arrays excel vba excel-vba variable-declaration

因此,在初始化数组时,您可以使用:

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

我将使用此代码启用/禁用表单上的不同复选框组,而且我不必每次都单独声明所有75个。

3 个答案:

答案 0 :(得分:3)

没有避免循环我不认为

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:-1)

Dim是一个变体,然后像这样为它分配一个数组:

(int mn = 0; mn < monitoringMonthArray.size()-1; mn++)