Как запретить сохранение файла в Excel, если определённая ячейка осталась пустой?
Представьте, что вы создали форму в Excel и поделились ею с коллегами. Вы хотите, чтобы они указывали свои имена в определённой ячейке для идентификации автора введённых данных. Если ячейка останется пустой, вы хотите запретить сохранение формы. В этом руководстве я покажу, как использовать макрос VBA, чтобы заблокировать процесс сохранения, если указанная ячейка пуста в Excel.
Запрет сохранения, если определённая ячейка пуста в Excel
Чтобы запретить сохранение текущей книги, если определённая ячейка пуста в Excel, просто примените следующий макрос VBA.
Шаг 1: Откройте окно Microsoft Visual Basic for Applications, одновременно нажав клавиши Alt+F11.
Шаг 2: В Обозревателе проектов разверните VBAProject (Ваш Имя книги.xlsm) и Microsoft Excel Objects, затем дважды щёлкните элемент ThisWorkbook. См. снимок экрана:

Шаг 3: В открывшемся окне ThisWorkbook вставьте следующий макрос VBA:
Макрос VBA: Запрет сохранения, если определённая ячейка пуста
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Update by ExtendOffice 20220907
Dim xFileName As String
Dim xStr As String
Dim xStrWSH As String
Dim xWSh As Worksheet
Dim xWShs As Sheets
Dim xWSh1 As Worksheet
Dim xWB As Workbook
xStrWSH = "xHidWSH_LJY"
On Error Resume Next
Set xWB = Application.ActiveWorkbook
Set xWShs = xWB.Worksheets
Set xWSh = xWShs.Item(xStrWSH)
If xWSh Is Nothing Then
Set xWSh1 = xWShs.Add
xWSh1.Name = xStrWSH
xWSh1.Visible = xlSheetVeryHidden
Cancel = False
Else
If Trim(Application.Sheets("Sheet1").Range("A1").Value) = "" Then
Cancel = True
MsgBox "Save cancelled"
End If
End If
End Sub Примечание:1. В 26-й строке приведённого выше кода VBA "Sheet1"— это конкретный Имя листа, а «A1» — конкретная ячейка; вы можете изменить её по своему усмотрению.
2. После ввода кода VBA в ThisWorkbookСначала сохраните книгу, а затем вы сможете отправить файл с поддержкой макросов другим пользователям.
Если определённая ячейка в Сохранение отменено окажется пустой, при попытке сохранения появится диалоговое окно с предупреждением: «Сохранение отмененоСм. снимок экрана ниже:

Связанные статьи
Как проверить или найти, содержит ли ячейка определённую строку, текст или слово в Excel?
Как копировать строки, если столбец содержит определённый текст/значение в Excel?
Как копировать ячейки, если столбец содержит определённое значение/текст в Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек