Как предотвратить сохранение, если определенная ячейка пуста в 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% и сократите сотни лишних кликов мышью каждый день!