声明数组中多个元素的 属性
Declaring Property of Multiple Elements in An Array
所以在初始化数组时可以使用:
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
我将使用此代码 enable/disable 表单上的不同复选框组,我宁愿不必每次都单独声明所有 75 个复选框。
没有避免循环我不认为
for i=0 to 4
array(i)=1
next i
dim作为一个变种,然后给它赋一个数组,像这样:
Dim a As Variant
a = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
循环是必要的,但只需在实例化对象数组时处理布尔值求值:
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
所以在初始化数组时可以使用:
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
我将使用此代码 enable/disable 表单上的不同复选框组,我宁愿不必每次都单独声明所有 75 个复选框。
没有避免循环我不认为
for i=0 to 4
array(i)=1
next i
dim作为一个变种,然后给它赋一个数组,像这样:
Dim a As Variant
a = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
循环是必要的,但只需在实例化对象数组时处理布尔值求值:
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