Днес ще научим как лесно да проверим дали една или няколко клетки са празни с помощта на Visual Basic за приложения. Съдържанието е подходящо за Excel 2019 / 365, 2016 и по-стари версии на Microsoft Office.
Подготвителна работа
Преди да започнете да кодирате с VBA в Excel, ще трябва да се уверите, че вашият раздел за разработка е активиран. Ако това не е така, моля, разгледайте този кратък урок .
Проверка дали диапазонът от клетки на Excel е празен с VBA
- В Excel отворете вашата среда на Visual Basic, като натиснете Alt+F11
- Поставете следния код като процедура във вашия работен лист или алтернативно в специален VBA модул.
Sub Check_Cell_is_empty_alt()
Dim rng As Range
Set rng = Selection
For Each Cell In rng
If IsEmpty(Cell.Value) = True Then
Debug.Print ("Empty")
Else
Debug.Print ("Not Empty")
End If
Next Cell
End Sub
- Отидете в електронната си таблица и изберете произволен диапазон от клетки.
- Върнете се в редактора на Visual Basic и се уверете, че визуализаторът за Immediate (CTRL+G) е видим – тъй като методът Debug.Print в кода ще изведе резултата си в този прозорец.
- Натиснете F5, за да стартирате кода си.
- Вижте резултатите в непосредствения прозорец.

- Всички празни клетки ще бъдат идентифицирани.
Възможни разширения на кода: Очевидно можете да разширите този код според нуждите, в случай че се интересувате да пропуснете празни стойности или просто да не правите нищо, в случай че клетките не са пълни. По същия начин можете да проверите дали самият диапазон е празен, т.е. – не се съдържат черни клетки.
Проверка на непразни полета
По същия начин можете да използвате свойството IsEmpty, за да проверите за полета, които не са празни.
If Not IsEmpty(Cell.Value) = True Then
Debug.Print ("Not Empty")
Else
Debug.Print ("Empty")
End If
Бонус: Използвайте следния код, ако искате да маркирате и празни клетки.
Dim i As Long Dim c As Long Dim myRange As Range Dim myCell As Range Set myRange = Range("A1:A10") За всяка myCell в myRange ' c = c + 1 If IsEmpty(myCell) Then myCell.Interior.Color = RGB(255, 87, 87) i = i + 1 End If Next myCell MsgBox _ "Има общо " & аз и усилвател " празна клетка(и) извън " & c & "."