Удаление нулевых значений из таблицы данных (Microsoft Excel)
Роберту нужен макрос, который находит все экземпляры ячеек в таблице данных, которые имеют нулевое значение, а затем удаляет эти ячейки. Он задается вопросом, как это сделать.
Для целей этого совета я собираюсь предположить, что Роберт действительно хочет очистить значения в ячейках, а не на самом деле удалить ячейки.
Далее, я собираюсь предположить, что он не хочет просто скрывать нулевые значения, что легко сделать с помощью простого изменения настроек в Excel.
(Как вы это делаете, было описано в других ExcelTips.)
На самом деле есть несколько способов избавиться от нулевых значений. В одном способе даже не используются макросы, а вместо этого используются возможности Excel «Найти и заменить»:
-
Нажмите Ctrl + H. Excel отображает вкладку «Заменить» диалогового окна «Найти и заменить».
-
Нажмите кнопку «Параметры», чтобы развернуть диалоговое окно. (См. Рис. 1.)
-
В поле «Найти» введите 0.
-
Убедитесь, что поле «Заменить на» пусто.
-
Установите флажок «Соответствовать содержимому всей ячейки».
-
Нажмите «Заменить все», чтобы выполнить замену.
При желании вы даже можете преобразовать вышеуказанные шаги в небольшой небольшой макрос:
Sub ReplaceZeros() Cells.Replace What:="0", Replacement:="", _ LookAt:=xlWhole, SearchOrder:=xlByRows End Sub
Существует предел того, что будет достигать этот подход, в частности, он заменит только ячейки, которые фактически содержат значение 0. Он не заменяет формулы, которые разрешаются в 0. Например, если ячейка содержала fomula = 4-4, которая разрешается в 0, операция «Найти и заменить» игнорирует его, поскольку фактически в ячейке нет значения 0.
Если вам нужно что-то, что действительно очищает ячейки, содержащие 0 или разрешающие 0, вам понадобится другой подход к макросам. Вот хороший:
Sub DeleteZeroes() Dim rCell As Range For Each rCell In Selection If rCell.Value = 0 Then rCell.ClearContents End If Next End Sub
Чтобы использовать макрос, просто выберите ячейки, на которые вы хотите повлиять, а затем запустите макрос. Он просматривает каждую из выбранных ячеек и удаляет содержимое любой ячейки, содержащей значение 0 — и в этом случае это также включает любые формулы, которые разрешаются в 0.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (13437) применим к Microsoft Excel 2007, 2010, 2013 и 2016.