Há dias, tive necessidade de criar código no sentido de impedir fechar um workbook, sem que determinada célula fosse preenchida.
Para tal, foi criado o seguinte código (adaptado), o qual resolveu o problema:
‘—————————————————————————————
‘ Procedure : Workbook_BeforeClose
‘ DateTime : 27-09-2012 22:31
‘ Author : JorgeRod
‘ Purpose : Não fecha o Workbook enquanto a célula J3 estiver vazia
‘—————————————————————————————
‘
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim strMsg As String
Dim ThisValue
strMsg = “A Célula J3 está vazia, é favor preencher!! “
ThisValue = Range(“J3”).Value
If (ThisValue = Empty) Then
MsgBox strMsg, vbInformation, “ATENÇÃO!!!”
End If
If IsEmpty(Range(“J3”)) Then
Cancel = True
Range(“J3”).Select
Exit Sub
End If
End Sub