Vba: как очистить содержимое, если ячейка содержит определенное значение
Вы можете использовать следующий базовый синтаксис, чтобы очистить содержимое каждой ячейки на листе Excel, равное определенному значению:
SubClearContentsIfContains ()
Dim cell, rng As Range
Set rng = Range(" A2:A11 ")
For Each cell In rng
If cell.Value = " Mavs " Then
cell.ClearContents
Else
End If
Next cell
End Sub
Этот конкретный макрос очистит содержимое каждой ячейки в диапазоне A2:A11 , который равен «Mavs».
В следующем примере показано, как использовать этот синтаксис на практике.
Пример. Используйте VBA для очистки содержимого, если ячейка содержит определенное значение.
Допустим, у нас есть лист Excel с информацией о разных баскетболистах:
Допустим, мы хотим очистить содержимое каждой ячейки в столбце «Команда », равное «Mavs».
Для этого мы можем создать следующий макрос:
SubClearContentsIfContains ()
Dim cell, rng As Range
Set rng = Range(" A2:A11 ")
For Each cell In rng
If cell.Value = " Mavs " Then
cell.ClearContents
Else
End If
Next cell
End Sub
После выполнения этого макроса все ячейки со значением «Mavs» в столбце «Команда» будут очищены:
Если вместо этого вы хотите очистить все ячейки в каждой строке со значением «Mavs» в столбце «Команда », вы можете использовать следующий синтаксис:
SubClearContentsIfContains ()
Dim cell, rng As Range
Set rng = Range(" A2:A11 ")
For Each cell In rng
If cell.Value = " Mavs " Then
cell.EntireRow.ClearContents
Else
End If
Next cell
End Sub
Запустив этот макрос, мы получим следующий вывод:
Обратите внимание, что все ячейки в каждой строке, содержащие «Mavs» в столбце «Команда» , были очищены.
Примечание . Полную документацию по методу ClearContents в VBA можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как найти последнюю использованную строку
VBA: как найти последний использованный столбец
VBA: как отобразить все листы