Você pode colocar isso no módulo ThisWorkbook
no projeto:
PrivateSubWorkbook_BeforeClose(CancelAsBoolean)DimlastRowAsLongDimwsAsWorksheetSetws=ThisWorkbook.Worksheets("Sheet1") ' Change this to the sheet you need to check!
lastRow = ws.Range("B" & Rows.Count).End(xlUp).Row
Dim rng As Range, cel As Range
Set rng = ws.Range(ws.Cells(1, 2), ws.Cells(lastRow, 2))
For Each cel In rng
If cel.Offset(0, -1).Value = "" And cel.Value <> "" Then
MsgBox (cel.Address & " is empty. Please populate before closing file.")
cel.Offset(0, -1).Interior.Color = RGB(255, 0, 0)
Cancel = True
' Exit Sub
End If
Next cel
End Sub
Antes de fechar uma planilha, ele verificará o intervalo A1:A[last row in col. B]
e verá se as células da coluna A estão vazias, onde a coluna B não está. Será então messagebox o endereço para inserir informações. em.