【发布时间】:2016-07-09 07:35:57
【问题描述】:
我正在尝试根据是否从另一个数组中勾选了一组 CheckBox(在用户窗体中)来构建一个数组。所以目前的代码是:
Dim MyArray(10) As Integer
MyArray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
Dim IntrnlArray() As Variant
For i = 1 To 10
If Me.Controls("CheckBox" & i).Value = True Then
' some code I cant figure out!
End If
Next
生成的(可能更小)新数组 IntrnlArray() 然后将在其他地方使用。因此,新数组将包含已勾选复选框的数量。然后这些数字将在其他地方用于进一步的计算,而不是告诉用户哪个复选框已被勾选。 任何帮助将不胜感激!!!
【问题讨论】:
-
我确信这里提供的解决方案之一将满足您的需求:stackoverflow.com/questions/7000334/… 与本文的作者类似,我相信集合可能更适合您的需求。或者,您也可以只连接字符串中的数字(逗号分隔),然后使用
Split()方法从字符串中读取。 -
出于兴趣,我以前从未使用过集合。我将如何进行编码?感谢您的耐心等待!
-
以下内容可能有点过分:excelmacromastery.com/Blog/index.php/… 但它非常有条理,这样你只能得到你真正想要/需要的部分和平静。还有一个与数组的比较以及何时使用 which:excelmacromastery.com/Blog/index.php/… 正如作者所提到的:当您具有固定大小时,数组会更好。由于您希望动态调整大小,我建议您使用集合。
-
盛大。感谢您的链接
标签: arrays vba dynamic userform