Как да предотвратите записването, ако конкретна клетка е празна в Excel?
Например сте проектирали формуляр в работен лист и го споделяте с колегите си. Надявате се вашите колеги да попълнят имената си в конкретната клетка, за да посочат кой е въвел този формуляр, в противен случай да им попречите да запазят формуляра, как бихте могли да направите? Тук ще представя макрос на VBA, за да предотвратя записването на работна книга, ако конкретната клетка е празна в Excel.
Предотвратете записването, ако конкретна клетка е празна в Excel
За да предотвратите запазването на текущата работна книга, ако конкретната клетка е празна в Excel, можете лесно да приложите следния макрос на VBA.
Стъпка 1: Отворете прозореца на Microsoft Visual Basic за приложения с натискане на Друг + F11 ключове междувременно.
Стъпка 2: В Project Explorer разгънете VBAProject (Име на вашата работна книга.xlsm) намлява Обекти на Microsoft Excel, след което щракнете двукратно върху Тази работна книга. Вижте екранна снимка вляво:
Стъпка 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 код, "Лист1" е конкретното име на работен лист, а "A1" е конкретната клетка и можете да ги промените според нуждите си.
2. След като въведете VBA в Тази работна книга, първо трябва да запазите работната книга. След това можете да изпратите файла с активиран макрос на други.
Сега, ако конкретната клетка е празна в текущата работна книга, когато я запазите, се появява предупредителен диалогов прозорец и ви казва "Запазването е отменено". Вижте следната екранна снимка:
Свързани статии
Как да проверя или намеря дали клетката съдържа конкретен низ/текст/дума в Excel?
Как да копирате редове, ако колоната съдържа конкретен текст/стойност в Excel?
Как да копирате клетки, ако колоната съдържа конкретна стойност/текст в Excel?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!