Удаление нулевых значений из таблицы данных

Роберту нужен макрос, который находит все экземпляры ячеек в таблице данных, которые имеют нулевое значение, а затем удаляет эти ячейки. Он задается вопросом, как это сделать.

Для целей этого совета я собираюсь предположить, что Роберт действительно хочет очистить значения в ячейках, а не на самом деле удалить ячейки. Кроме того, я собираюсь предположить, что он не хочет просто скрывать нулевые значения, что легко сделать с помощью простого изменения настроек в Excel. (Как это сделать, было описано в других советах по Excel .)

На самом деле есть несколько способов избавиться от нулевых значений. Один способ даже не использует макросы, а вместо этого полагается на возможности поиска и замены Excel:

  1. Нажмите Ctrl + H . Excel отображает вкладку «Заменить» диалогового окна «Найти и заменить».
  2. Нажмите кнопку «Параметры», чтобы развернуть диалоговое окно. (См. Рис. 1.)
  3. Рис. 1. Расширенная вкладка “Замена” диалогового окна “Найти и заменить”.

  4. В поле “Найти” введите 0.
  5. Убедитесь, что параметр “Заменить” Поле с пустым.
  6. Установите флажок “Соответствовать содержимому всей ячейки”.
  7. Нажмите “Заменить все”, чтобы выполнить замену.

При желании вы даже можете преобразовать вышеуказанные шаги в небольшой небольшой макрос:

 Sub ReplaceZeros () Cells.Replace What: = "0", Replacement: = "", _  LookAt: = xlWhole, SearchOrder: = xlByRowsEnd Sub 

Существует ограничение на то, что будет выполнять этот подход, в частности, он заменит только ячейки, которые фактически содержат значение 0. Он не заменяет формулы, которые разрешаются в 0. Например, если ячейка содержала fomula = 4-4 , которая разрешается в 0, операция поиска и замены игнорирует его, потому что на самом деле нет значение 0 в ячейке.

Если вам нужно что-то, что действительно очищает ячейки, содержащие 0 или разрешающие 0, тогда вам понадобится другой подход к макросам. Вот хороший вариант:

 Sub DeleteZeroes () Dim rCell As Range For Every rCell In Selection If rCell.Value = 0 Then rCell.ClearContents End If NextEnd Sub 

Чтобы использовать макрос, просто выберите ячейки, на которые вы хотите повлиять, а затем запустите макрос. Он просматривает каждую из выбранных ячеек и удаляет содержимое всех ячеек, содержащих значение 0, и в данном случае это также включает все формулы, которые разрешаются в 0.

Оцените статью
Frestage.ru
Добавить комментарий