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

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

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

(Как вы это делаете, было описано в других ExcelTips.)

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

  1. Нажмите Ctrl + H. Excel отображает вкладку «Заменить» диалогового окна «Найти и заменить».

  2. Нажмите кнопку «Параметры», чтобы развернуть диалоговое окно. (См. Рис. 1.)

  3. В поле «Найти» введите 0.

  4. Убедитесь, что поле «Заменить на» пусто.

  5. Установите флажок «Соответствовать содержимому всей ячейки».

  6. Нажмите «Заменить все», чтобы выполнить замену.

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

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.