检测已启用的项目数

时间:2013-12-17 14:35:44

标签: vba

在我的程序中,我使用计时器使图片框可见,并在一定时间后使用图片框(1-9)使它们不可见.visible = true / false。

最后,我必须计算在任何给定时间可见多少个图片框。

我无法弄清楚我是否尝试将它们添加到变量中,但计时器每秒都会反复执行。我真的不知道该怎么做

2 个答案:

答案 0 :(得分:2)

此代码适用于工作表上的图片,但可以轻松修改以适用于您的图片框:

'Count the visible number before starting.
Dim NumberVisible As Integer
NumberVisible = 0
For i = 1 To 9
    If myWorkSheet.Shapes(i).Visible = msoTrue Then
        NumberVisible = NumberVisible + 1
    End If
Next

'....
'Start timer, do timer code here.
'....
myWorkSheet.Shapes(i).Visible = msoTrue
NumberVisible = NumberVisible + 1

'...
myWorkSheet.Shapes(i).Visible = msoFalse
NumberVisible = NumberVisible - 1

答案 1 :(得分:1)

您需要检查picturebox(1-9).visible本身。可以设置相同的变量,也可以检查给定的值。

只需遍历表单中的所有图片框并检查其可见属性。

Sub foo()

Dim ct As Control
Dim sum As Integer
sum = 0

For Each ct In Me.Controls

    If TypeName(ct) = "Image" Then
        If ct.Visible = False Then
            sum = sum + 1
        End If
    End If

Next

MsgBox sum

End Sub
相关问题