我有一个电子表格,基本上是一个待办事项列表,其中的复选框标记了检查点。复选框的规则是: 1)只能先检查第一个复选框(名为checkbox_1)。 2)只能按顺序检查复选框(例如checkbox_1,checkbox_2,checkbox_3等)
最初禁用checkbox_1以外的所有复选框。单击启用的复选框后,下一个复选框将启用并禁用上一个复选框。
我现在遇到的麻烦是双击绕过复选框的enabled
状态,然后继续通过事件处理程序检查复选框。
我该怎样防止这种情况?我是否需要在_BeforeDoubleClick
事件处理程序中编写内容?
我的checkbox_click事件的事件处理程序在这里:
Public Sub CheckBoxClick(Optional checkboxName As String = "")
'This calls the checkbox function to create the timestamp and enable the next visible checkbox
Dim assocTime As Range
Dim callerName As String
Dim aCaller As Variant
Dim check_num As String
Dim aCheckboxes As Variant
Set aCheckboxes = common.GetSheet(1).CheckBoxes
If checkboxName <> "" Then
callerName = checkboxName
Else
callerName = Application.Caller
End If
aCaller = Split(callerName, "_")
check_num = aCaller(1)
Set assocTime = common.GetRange("time_" & check_num)
If assocTime.value = "" Then
Call obj.ClickCheckBox(callerName, Constants.mypw)
End If
If check_num = aCheckboxes.count Then
If MainSheetFunctions.HasRedCells Then
common.MessageBox ("This batch record has cells with errors. Please address all red cells before continuing.")
Exit Sub
End If
End If
End Sub
obj.ClickCheckBox
子将在相邻的单元格中写入当前时间,并启用下一个复选框。
感谢您的时间,