我正在开发一个excel文档,最终会有超过90个复选框。用户将能够选择90中的任何一个或全部,这将仅使用简单的If ... then函数中的那些值来在输出文档中打印结果。
最初我的代码用于i = 1到8,然后我手动编码了复选框现在将保存的值。即。
Dim Sec(1 to 8) as string
For i = 1 to 8
Sec(1) = "5001"
Sec(2) = "5002"
等等,直到我需要的值被添加。这并不困难,我只是将文档定制到任何需要它的部门。然而,正如所有从小事做起的事情一样,我的任务是创建一个网站范围的文档,其中包含可以临时选择的所有值。我发现自己迷失了。
我目前正在使用
For Each ctl in Sheets("Sheet1").Controls
If Typename(ctl) = "Checkbox" then
If ctl.value = True then
循环浏览所有复选框并查找已选中的复选框,但我如何获取复选框1的值(假设为5001)并使秒(#)与我的其余部分一致码?
这是一个动态数组的情况,还是我最好只是将值发送到工作表上的某个列,然后从单元格区域创建一个非空白的数组?
更大的代码片段,因此您可以获得所有内容都落在哪里。请忽略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
非常感谢任何帮助。我一定是想学习,但据我所知,我似乎已经陷入了困境,我不确定在哪里可以看。