如果特定列中的单元格为空并且填充了与其相邻的单元格,则阻止excel关闭

时间:2016-11-01 05:21:52

标签: excel excel-vba vba

我想这需要一个VB宏。我需要知道如何做到这一点。我有一张excel表,可以说有四列 - NAME,AGE,GENDER和BIRTHDAY。假设我想确保始终为所有记录填充AGE列,并且始终为正且高于零。文件中的记录数不固定,因此文件可以有5行或500行。我需要确保如果任何列NAME,GENDER或BIRTHDAY连续填充且AGE为空,0或负,则excel应阻止用户关闭文件。

2 个答案:

答案 0 :(得分:0)

你可以稍微破解这个解决方案以满足你的需求

关闭工作簿时的VBA Excel操作

https://stackoverflow.com/a/27923799/6868389

答案 1 :(得分:0)

由于您的问题的具体细节是如此模糊,我可以提出关闭部分的解决方案。您必须根据文件中的具体内容添加个别条件,但您可以在两者之间添加它们以将MyValidations设置为1.如上所述,这是基于Workbook_BeforeClose事件。 https://msdn.microsoft.com/en-us/library/office/ff194765.aspx

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If MyValidations = 1 Then
        Cancel = False
    Else
        MsgBox "Nope'"
        Cancel = True
    End If
End Sub