Excel,为下一个循环收集的checkbox值

我正在做一个excel文件,到那时候,将有90多个checkbox。 用户将能够select90个中的任何一个或全部,其将依次使用简单的If … then函数中的那些值来在输出文档中打印查找结果。

原来我的代码用于我= 1至8,然后我手动编码checkbox现在将保留的值。 即

Dim Sec(1 to 8) as string For i = 1 to 8 Sec(1) = "5001" Sec(2) = "5002" 

等到我需要的值被添加。 这不是太困难,我只是根据需要调整文档。 然而,就像所有事情从小事情开始一样,我的任务是创build一个文档站点,包含所有可以select的值。 在这里,我发现自己迷路了。

我目前正在使用

  For Each ctl in Sheets("Sheet1").Controls If Typename(ctl) = "Checkbox" then If ctl.value = True then 

要遍历所有的checkbox,并find那些被检查的,但我怎么会把checkbox1的值(可以说是5001),并使该秒(#)符合我的代码的其余部分?

这是一个dynamic数组的情况下,或者我会更好的简单发送值的工作表上的某个列,然后创build一个数组的单元格不是空白的数组?

代码的一个更大的部分,所以你可以得到所有东西落在这里的jist。 请忽略Attachmate的东西,如果符合某些条件,我会用Getstring将信息放入单独的文档中。

 Dim Sec(1 To 8) As String Sec(1) = "6601" Sec(2) = "6602" For i = 1 To 2 Sess0.Screen.Moveto 16, 19 Sess0.Screen.WaitHostQuiet (g_HostSettleTime) Sess0.Screen.SendKeys ("W") Sess0.Screen.WaitHostQuiet (g_HostSettleTime) Sess0.Screen.Moveto 18, 28 Sess0.Screen.WaitHostQuiet (g_HostSettleTime) Sess0.Screen.SendKeys (Sec(i)) Sess0.Screen.WaitHostQuiet (g_HostSettleTime) Sess0.Screen.Moveto 17, 29 Sess0.Screen.WaitHostQuiet (g_HostSettleTime) Sess0.Screen.SendKeys ("19044") Sess0.Screen.WaitHostQuiet (g_HostSettleTime) Sess0.Screen.Moveto 19, 60 Sess0.Screen.WaitHostQuiet (g_HostSettleTime) Sess0.Screen.SendKeys ("P") Sess0.Screen.WaitHostQuiet (g_HostSettleTime) Sess0.Screen.SendKeys ("<enter>") Do 'If.....then....else... loop until errorcode = "End" Next i 

任何帮助将不胜感激。 我肯定是在努力学习,但是据我所知,我似乎已经走到了一堵墙里,我不太清楚还有什么地方可以看。