Как заменить пустые ячейки нулём в Excel

Что делает макрос: В некоторых анализах, пустые клетки могут привести к неприятностям. Они могут вызвать проблемы сортировки, вызвать ошибку при автоматическом заполнении, в сводных таблицах (применить функцию Count вместо функции Sum), и так далее.
Этот макрос может заменить пустые ячейки нулем.

Как макрос работает

Этот макрос перебирает все ячейки в заданном диапазоне, а затем использует функцию Len, чтобы проверить длину значения в активной ячейке. Пустые клетки имеют длину символа 0.
Если длина действительно 0, макрокоманда вводит 0 в ячейке, эффективно делая замену.

Код макроса

Sub ZamenitPustieYacheikiNulem()
'Шаг 1: Объявляем переменные
Dim MyRange As Range
Dim MyCell As Range
'Шаг 2: Сохранить книгу прежде, чем изменить ячейки?
Select Case MsgBox("Перед изменением ячеек. " & _
"Сохранить книгу?", vbYesNoCancel)
Case Is = vbYes
ThisWorkbook.Save
Case Is = vbCancel
Exit Sub
End Select
'Шаг 3: Определяем целевой диапазон
Set MyRange = Selection
'Шаг 4: Запускаем цикл по диапазону
For Each MyCell In MyRange
'Шаг 5: Заменяем пустую ячейку
If Len(MyCell.Value) = 0 Then
MyCell = 0
End If
'Шаг 6: Получаем следующую ячейку в диапазоне
Next MyCell
End Sub

Как этот код работает

  1. Шаг 1 объявляет две переменные объекта Range.
  2. Мы должны сохранить книгу перед запуском макроса.
  3. Шаг 3 заполняет переменную MyRange с целевым диапазоном.
  4. Шаг 4 начинает цикл через каждую ячейку в целевом диапазоне.
  5. После того, как клетка активируется, Шаг 5 использует функцию IsEmpty, чтобы убедиться, что ячейка не пуста. Затем мы используем функцию Len, которая является стандартной функцией Excel, которая возвращает номер, соответствующий длине строки. Если ячейка пуста, то длина будет равна 0. Можно, очевидно, заменить бланк с любым значением, которое вы хотели бы (N / A, пока не определено, Нет данных, и т.д.).
  6. Шаг 6 повторяет цикл, чтобы получить следующую ячейку. После просмотра всех ячеек в целевом диапазоне макрос заканчивается.

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код.
Оцените статью
Добавить комментарий