我有一系列工作簿,可以作为我们各种机器的每小时数据日志。每小时,操作员输入他们的数据,然后单击一个复选框,该复选框将数据传输到单独的工作簿。有时,操作员不会出于任何原因点击该框,因此我正在寻找一种方法来检查是否已检查过上一个框;如果没有,则填充特定单元格。如果有,工作簿将自动选中该框并提交该行的数据。
所以我从这开始:
Private Sub CheckBox03_Click()
If CheckBox03.Value = True Then
If CheckBox02.Value = False Then
If MsgBox("The previous hour has not yet been completed. Continue?", vbYesNo, "User Input") = vbNo Then
CheckBox03.Value = False
Exit Sub
Else
End If
Else
End If
Call errorCheck(sht1.CheckBox03, sht1.ComboBox03)
End If
所以我已经检查了上一个复选框,看它是否被点击,并且有时机器没有运行,所以不需要输入任何数据。棘手的部分是检查是否填充了该行中的特定单元格。如果需要添加数据,用户可以为每小时事务添加其他行,因此我没有要设置的行。我需要确定复选框所在的行,然后查看是否填充了“J”列。
我有24个这样的潜艇,每小时一个,我知道这可能有点不雅......但我可以在每个电子表格中使用相同的代码,这很好。因此,如果有人可以帮助我解决问题,甚至改进现有代码,我将非常感激。谢谢!
答案 0 :(得分:0)
我没有准确地理解你想要什么,但可能会调用程序而不是将值设置为复选框。
Private Sub CheckBox03_Click()
If CheckBox03.Value = True Then
If CheckBox02.Value = False Then
If MsgBox("The previous hour has not yet been completed. Continue?", vbYesNo, "User Input") = vbNo Then
CheckBox02_Click(); // click specify buttion procedure
Exit Sub
Else
End If
Else
End If
Call errorCheck(sht1.CheckBox03, sht1.ComboBox03)
End If
或者在其他情况下使用Application.OnTime METHOD来点击您需要的时间 - 例如。每小时。