首页 > 解决方案 > VBA中的复选框FOR循环数组

问题描述

我有一个包含 100 多个复选框的 word 文档。它是一个 ActiveX 对象。Checkbox1.Caption 是 GroupName。如果选中了复选框(Checkbox1.Value = True),那么我想在消息框中显示该 GroupName,以允许用户轻松地将组复制为选中的文本,而无需扫描整个文档。我的代码工作正常,除了我设置了每个 CheckBox 以允许它在数组中用于 FOR 循环。我想使用 for 循环将所有 Checkbox 对象传递到一个数组中,然后我可以在代码中使用它

'Set CBox(1) = CheckBox1
'Set CBox(2) = CheckBox2
'Set CBox(3) = CheckBox3

 Dim iCount As Integer
 Dim CheckBox As String

 For iCount = 1 To 3
 CBox(iCount) = "CheckBox" & iCount
 Next iCount

 Dim Grp(1 To 50) As String
 Dim GrpText(1 To 5) As String

 Dim i As Integer
 Dim j As Integer
 Dim k As Integer

 For i = 1 To 3
 If CBox(i).Value = True Then Grp(i) = CBox(i).Caption & ";" Else Grp(i) = ""
 Next i

 For j = 1 To 5
    For k = ((j - 1) * 10 + 1) To ((j - 1) * 10 + 10)
      GrpText(j) = Grp(k) & GrpText(j)
    Next k
 Next j
 InputBox "Copy The Below Text", "Groups", GrpText(1) & GrpText(2) & GrpText(3) & GrpText(4) &       GrpText(5)

标签: arraysvbafor-loopcheckbox

解决方案


推荐阅读