代码如下:
Private Sub chkAll_Click() If chkAll Then
chkDX.Value = 1
chkHL.Value = 1
Else
chkDX.Value = 0
chkHL.Value = 0
End If
End SubPrivate Sub chkDX_Click() If chkDX.Value Then
If chkDX.Value And chkHL.Value Then
chkAll.Value = 1 '全部
End If
Else
chkAll.Value = 0 '全部
End IfEnd SubPrivate Sub chkHL_Click() If chkHL.Value Then
If chkDX.Value And chkHL.Value Then
chkAll.Value = 1 '全部
End If
Else
chkAll.Value = 0 '全部
End If
End Sub默认chkAll.value=1,chkDX.value=1,chkHL.value=1,我想达到的效果是:当我点击取消chkHL,chkAll.value=0,chkDX不变,可运行后的结果是全部value都为0了,我逐句跟踪后发现,程序在运行完chkHL_Chick后又执行了chkAll_Chick。为什么会这样子执行呢?这是为什么,谁能给我讲讲!?我这程序该怎么改呢?
Private Sub chkAll_Click() If chkAll Then
chkDX.Value = 1
chkHL.Value = 1
Else
chkDX.Value = 0
chkHL.Value = 0
End If
End SubPrivate Sub chkDX_Click() If chkDX.Value Then
If chkDX.Value And chkHL.Value Then
chkAll.Value = 1 '全部
End If
Else
chkAll.Value = 0 '全部
End IfEnd SubPrivate Sub chkHL_Click() If chkHL.Value Then
If chkDX.Value And chkHL.Value Then
chkAll.Value = 1 '全部
End If
Else
chkAll.Value = 0 '全部
End If
End Sub默认chkAll.value=1,chkDX.value=1,chkHL.value=1,我想达到的效果是:当我点击取消chkHL,chkAll.value=0,chkDX不变,可运行后的结果是全部value都为0了,我逐句跟踪后发现,程序在运行完chkHL_Chick后又执行了chkAll_Chick。为什么会这样子执行呢?这是为什么,谁能给我讲讲!?我这程序该怎么改呢?
If chkAll.Value = 0 Then Exit Sub‘加上这一句
If chkAll Then
chkDX.Value = 1
chkHL.Value = 1
Else
chkDX.Value = 0
chkHL.Value = 0
End If
End Sub
Private Sub chkAll_Click() If chkAll Then
chkDX.Value = 1
chkHL.Value = 1
Else
chkDX.Value = 0
chkHL.Value = 0
End If
End Sub改成:
Private Sub chkAll_Click() If chkAll Then
chkDX.Value = 1
chkHL.Value = 1
Else
If chkDX Then
chkDX.Value = 1
chkHL.Value = 0
Else
chkDX.Value = 0
chkHL.Value = 0
End If
End If
End Sub