查找行号,检查该行中的特定列是否为空

时间:2015-10-29 14:06:26

标签: excel vba excel-vba is-empty

我有一系列工作簿,可以作为我们各种机器的每小时数据日志。每小时,操作员输入他们的数据,然后单击一个复选框,该复选框将数据传输到单独的工作簿。有时,操作员不会出于任何原因点击该框,因此我正在寻找一种方法来检查是否已检查过上一个框;如果没有,则填充特定单元格。如果有,工作簿将自动选中该框并提交该行的数据。

所以我从这开始:

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个这样的潜艇,每小时一个,我知道这可能有点不雅......但我可以在每个电子表格中使用相同的代码,这很好。因此,如果有人可以帮助我解决问题,甚至改进现有代码,我将非常感激。谢谢!

1 个答案:

答案 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来点击您需要的时间 - 例如。每小时。