Private Sub Command1_Click() If Check1.Value Then MsgBox "选择了~!" End Sub 知道他们的位置是什么意思:??? check1.left 和check1.top吗?!?
Private Sub Command1_Click() Dim a, b, c, d, e a = IIf(Check1.Value = 1, 1, 0) b = IIf(Check2.Value = 1, 1, 0) c = IIf(Check3.Value = 1, 1, 0) d = IIf(Check4.Value = 1, 1, 0) e = IIf(Check5.Value = 1, 1, 0) MsgBox a & b & c & d & e End Sub
Option ExplicitPrivate Sub Command1_Click() Dim obj As Object For Each obj In Me.Controls If TypeName(obj) = "CheckBox" Then Debug.Print obj.Name + ".value=" + CStr(obj.Value) End If NextEnd Sub
首先,建议将这些Check建立成为数组,就是Check1(?)然后用For语句Dim ChecksInfo() as Long ReDim ChecksInfo(Check1.Count, 5) as Long '5是随意给的数字,稍微大一点就可以了For i = 0 TO Check1.Count - 1 If Check1(i).Value = vbChecked Then ChecksInfo(i, 0) = True Else ChecksInfo(i, 0) = False End If ChecksInfo(i, 1) = Check1(i).Top ChecksInfo(i, 2) = Check1(i).Left Next将这段程序Copy到一个按钮下进行调试,然后对ChecksInfo这个数组来提取就可以了。
value为1是选中..0为没选中...建议用控件数组
if check1.value=1 then msgbox "已经选中了!" elseif check1.value=0 then msgbox "未被选中!" endif
If Check1.Value Then MsgBox "选择了~!"
End Sub
知道他们的位置是什么意思:???
check1.left 和check1.top吗?!?
Dim a, b, c, d, e
a = IIf(Check1.Value = 1, 1, 0)
b = IIf(Check2.Value = 1, 1, 0)
c = IIf(Check3.Value = 1, 1, 0)
d = IIf(Check4.Value = 1, 1, 0)
e = IIf(Check5.Value = 1, 1, 0)
MsgBox a & b & c & d & e
End Sub
Dim obj As Object
For Each obj In Me.Controls
If TypeName(obj) = "CheckBox" Then
Debug.Print obj.Name + ".value=" + CStr(obj.Value)
End If
NextEnd Sub
check1.value=0表示未选中
(最好不要用true或false)
ReDim ChecksInfo(Check1.Count, 5) as Long '5是随意给的数字,稍微大一点就可以了For i = 0 TO Check1.Count - 1
If Check1(i).Value = vbChecked Then
ChecksInfo(i, 0) = True
Else
ChecksInfo(i, 0) = False
End If
ChecksInfo(i, 1) = Check1(i).Top
ChecksInfo(i, 2) = Check1(i).Left
Next将这段程序Copy到一个按钮下进行调试,然后对ChecksInfo这个数组来提取就可以了。
msgbox "已经选中了!"
elseif check1.value=0 then
msgbox "未被选中!"
endif