Вы можете поместить это в ThisWorkbook
модуль в проекте:
Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim lastRow As Long Dim ws As Worksheet Set ws = 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
Перед тем, как закрыть лист, он проверит диапазон A1:A[last row in col. B]
и выяснит, пустые ли ячейки в столбце A, а в столбце B нет. Затем он сообщит вам адрес для ввода информации. в.