Перейти к содержимому

Как очистить содержимое ячеек на основе условия в Excel?

Author: Xiaoyang Last Modified: 2025-08-07

Иногда вам может понадобиться очистить содержимое ячеек на основе условий в Excel, например, очистить содержимое ячейки, если она содержит определенное значение, очистить содержимое ячейки, если в другом столбце есть пустые ячейки, или очистить содержимое ячеек с определенным цветом фона и т.д. В этой статье будут представлены несколько приемов для быстрого и легкого решения этих задач.

Очистка содержимого ячеек на основе значения ячейки с помощью кода VBA

Очистка всех строк, если значение больше или меньше определенного значения с помощью кода VBA

Очистка содержимого ячейки или строки на основе значения ячейки с помощью удобной функции

Очистка всех строк, если другая ячейка пуста с помощью кода VBA

Очистка содержимого ячеек на основе цвета фона с помощью кода VBA


Очистка содержимого ячеек на основе значения ячейки с помощью кода VBA

Например, у вас есть следующий диапазон данных, теперь вы хотите очистить содержимое ячеек со значением «Hoodie», приведенный ниже код VBA поможет вам.

sample data

1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Insert > Module и вставьте следующий код в окно Module.

Код VBA: Очистка содержимого ячейки, если ячейка равна определенному значению

Sub ClearContents()
'Updateby ExtendOffice
 Dim xRng As Range
 Dim xCell As Range
 Dim xText As String
 Set xRng = Application.Range("A2:A12")
 xText = "Hoodie" 'Change this text to your own
 For Each xCell In xRng
 If xCell.Value = xText Then
 xCell.clearContents
 End If
 Next xCell
End Sub
Примечание: В приведенном выше коде A2:A12 — это диапазон данных, из которого вы хотите очистить содержимое ячеек; текст «Hoodie» — это конкретное значение, которое вы хотите очистить. Пожалуйста, измените их на свои собственные.

3. Затем нажмите клавишу F5, чтобы запустить этот код, и все ячейки с текстом «Hoodie» будут очищены сразу, см. скриншот:

vba code to clear cell contents based on cell value

a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

Очистка всех строк, если значение больше или меньше определенного значения с помощью кода VBA

Предположим, у вас есть следующий диапазон данных, и вы хотите очистить содержимое всей строки, если значение в столбце D больше или меньше 300. Здесь я создам код VBA для выполнения этой задачи.

sample data

1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Insert > Module и вставьте следующий код в окно Module.

Код VBA: Очистка всех строк, если значение ячейки больше или меньше определенного значения

Sub ClearRowInValue()
'Updateby ExtendOffice
Dim xRg As Range
Dim xStrAddress As String
Dim xStrValue As Integer
Dim xCell As Range
Dim xRowRg As Range
Dim xF As Integer
Dim xBol As Boolean
xStrAddress = "D2:D12" 'Change cell range
xStrValue = 300 'change the value
Set xRg = Range(xStrAddress)
For xF = xRg.Rows.Count To 1 Step -1
    Set xRowRg = xRg.Rows.Item(xF)
    xBol = False
    For Each xCell In xRowRg.Cells
        If Application.IsNumber(xCell.Value) Then
        If xCell.Value > xStrValue Then
        xBol = True
        Exit For
        End If
        End If
    Next
    If xBol Then
        xRowRg.EntireRow.clearContents
    End If
Next
End Sub
Примечание: В приведенном выше коде D2:D12 — это диапазон данных, содержащий определенное значение, по которому вы хотите очистить строки; 300 — это определенное значение; символ > в скрипте If xCell.Value > xStrValue Then означает больше, используйте меньше, заменив его на символ < по мере необходимости.

3. Затем нажмите клавишу F5, чтобы запустить этот код, и все содержимое строк будет очищено, если значение в столбце D больше 300, см. скриншот:

vba code to clear entire rows if value is greater or less than a specific value


Очистка содержимого ячейки или строки на основе значения ячейки с помощью удобной функции

Если у вас есть Kutools для Excel, с помощью его функции Выбрать определенные ячейки вы можете выбрать ячейки или строки на основе определенного значения, а затем удалить содержимое ячеек сразу.

Kutools для Excel предлагает более 300 продвинутых функций для упрощения сложных задач, повышая креативность и эффективность. Интеграция с возможностями ИИ позволяет Kutools автоматизировать задачи с высокой точностью, делая управление данными без усилий. Подробная информация о Kutools для Excel...  Бесплатная пробная версия...

После установки Kutools для Excel сделайте следующее:

1. Выберите диапазон данных со значениями, на основе которых вы хотите очистить содержимое ячейки или строки, а затем нажмите Kutools > Select > Выбрать определенные ячейки, см. скриншот:

click Kutools > Select > Select Specific Cells

2. В открывшемся диалоговом окне Выбрать определенные ячейки выполните следующие действия:

  • Нажмите Ячейку или Вся строка, которую вы хотите выбрать;
  • Укажите критерии в разделе Указать тип по мере необходимости. Здесь я хочу выбрать строки, значение в столбце D которых больше 300.

specify the options in the dialog box

3. Затем нажмите кнопку Ok, и все строки со значением больше 300 будут выбраны. Теперь вам просто нужно нажать клавишу Delete на клавиатуре, чтобы удалить содержимое ячеек, см. скриншот:

all the rows with the value greater than specific value are selected, then delete the contents

Советы: Существует множество других критериев, которые вы можете использовать, укажите свое собственное условие в диалоговом окне, как показано на скриншоте ниже:
many other criteria in the dialog box

Очистка данных строк в диапазоне, если он содержит пустую ячейку с помощью кода VBA

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

Clear rows data in a range if contains blank cell

Чтобы выполнить эту задачу, примените следующий код VBA:

1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Insert > Module, а затем вставьте следующий код в окно Module.

Код VBA: Очистка данных строк, если они содержат пустую ячейку

Sub ClearContents()
'Updateby ExtendOffice
Dim xcell As Range
Set xrng = Application.Range("A2:D12")
For Each xcell In xrng
If xcell.Value = "" Then
Intersect(xcell.EntireRow, xrng).ClearContents
End If
Next
End Sub
Примечание: В приведенном выше коде A2:D12 — это диапазон данных, содержащий пустые ячейки, из которых вы хотите очистить содержимое ячеек.

3. Затем нажмите клавишу F5, чтобы запустить этот код, и данные строк с пустыми ячейками будут очищены сразу в указанном диапазоне.


Очистка содержимого ячеек на основе цвета фона с помощью кода VBA

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

1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Insert > Module, а затем вставьте следующий код в окно Module.

Код VBA: Очистка содержимого ячеек на основе цвета фона

Sub Clearcontents()
'Updateby ExtendOffice
Dim xcell As Range
Dim xrng As Range
Set xrng = Application.Range("A2:D12")
    For Each xcell In xrng
        If xcell.Interior.Color = RGB(252, 228, 214) Then
            xcell.Clearcontents
        End If
    Next
End Sub
Примечание: В приведенном выше коде A2:D12 — это диапазон данных, который вы хотите использовать, RGB(252, 228, 214) — это определенный цвет, на основе которого вы хотите очистить ячейки, вы можете извлечь режим RGB цвета фона, используя программу Paint на вашем компьютере.

3. И затем нажмите клавишу F5, чтобы запустить этот код, и содержимое ячеек с указанным цветом фона будет немедленно очищено. См. скриншот:

vba code to clear cell contents based on background color


Лучшие инструменты для повышения производительности Office

Kutools для Excel решает большинство ваших проблем и увеличивает вашу продуктивность на 80%

  • Супер строка формул (легкое редактирование нескольких строк текста и формул); Режим чтения (удобное чтение и редактирование большого количества ячеек); Вставка в отфильтрованный диапазон...
  • Объединение ячеек/строк/столбцов с сохранением данных; Разделение содержимого ячеек; Объединение дублирующихся строк с подсчетом суммы/среднего значения... Предотвращение дублирования ячеек; Сравнение диапазонов...
  • Выбор дублирующихся или уникальных строк; Выбор пустых строк (все ячейки пустые); Супер поиск и нечеткий поиск во многих книгах; Случайный выбор...
  • Точное копирование нескольких ячеек без изменения ссылок на формулы; Автоматическое создание ссылок на несколько листов; Вставка маркеров, флажков и многое другое...
  • Избранные и быстрая вставка формул, диапазонов, диаграмм и изображений; Шифрование ячеек с паролем; Создание списка рассылки и отправка электронных писем...
  • Извлечение текста, добавление текста, удаление по позиции, удаление пробелов; Создание и печать статистики страниц; Преобразование между содержимым ячеек и комментариями...
  • Супер фильтр (сохранение и применение схем фильтрации к другим листам); Расширенная сортировка по месяцу/неделе/дню, частоте и другим параметрам; Специальный фильтр по жирному шрифту, курсиву...
  • Объединение книг и листов; Объединение таблиц на основе ключевых столбцов; Разделение данных на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Группировка сводной таблицы по номеру недели, дню недели и другим параметрам... Отображение разблокированных, заблокированных ячеек разными цветами; Выделение ячеек, содержащих формулы/имена...
kte tab 201905
  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов в новых вкладках одного окна, а не в новых окнах.
  • Увеличивает вашу продуктивность на 50% и экономит сотни кликов мышью каждый день!
officetab bottom