Сегодня мы узнаем, как легко проверить, пуста ли одна или несколько ячеек, используя 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 Viewer (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")
For Each myCell In myRange
c = c + 1
If IsEmpty(myCell) Then
myCell.Interior.Color = RGB(255, 87, 87)
i = i + 1
End If
Next myCell
MsgBox "Всего " & i & " пустые ячейки из " & c & "."
Спокойный Мышонок -
Крутая находка! Нам нужно больше таких лайфхаков для Excel, чтобы упростить рутинную работу. Были бы идеи про то, как автоматизировать работа с отчетами
Олег Бобер -
Здорово, что вы поделились своим опытом. У меня возникло несколько вопросов, но, думаю, я смогу разобраться самостоятельно
Оля Мур -
Этот пост просто супер! Я ищу способ оптимизировать свой рабочий процесс в Excel, и ваш подход к проверке пустых ячеек выдает невероятные результаты. Спасибо!
Юля Кот -
Круто! Я сначала думала, что VBA — это сложно, но теперь вижу, что с помощью таких простых примеров можно научиться многому
Анна Доброта -
Советую всем, кто работает с Excel, обязательно прочитать эту статью! Я использовала описанный метод, и он сильно упростил мою работу.
Иван Петров -
Спасибо большое за полезную информацию! Я всегда сталкивался с проблемой проверки ячеек в Excel, и ваш метод на VBA действительно оказался полезным. Теперь я смогу улучшить свои отчеты
Саша 6543 -
Но как быть, если я хочу проверить несколько диапазонов? Ваш код работает только с одной ячейкой
Максим IT -
Я всегда использовал формулы для проверки ячеек, но визуальная программа на VBA с легкостью делает это быстрее. Это, похоже, совсем новый уровень. Есть идеи, как это адаптировать для больших диапазонов
Даша Лиса -
Классная статья! Я никогда не думала, что можно так легко проверить ячейки с помощью VBA. Сохраню на потом, спасибо
Лена Котик -
Не могу удержаться от улыбки, когда понимаю, как легко можно делать такие вещи в Excel! Использую ваш код уже несколько дней, и это просто устраняло массу хлопот!
Александр Заяц -
Потрясающая статья! Я в восторге от того, как легко можно проверять ячейки. Буду пробовать это в своей работе. Спасибо за вашу помощь!