В настоящее время я использую это. пока это работает. Я хочу добавить код, который позволяет мне заменить все в этом столбце. Не ограничиваясь только заменой 0 или одного слова.
.AutoFilter field:=6, Criteria1: = "0"
Columns("F").replace What: = "0", Replacement: = "Not Needed", Lookat:=xlPart, searchOrder:=xlByRows, MatchCase:=False, Searchformat:=False, ReplaceFormat:=False
Worksheets("Sheet1").AutoFilterMode = False
Вопрос в том. возможно ли это сделать и если да. как будет выглядеть код?
То, что вы сказали, довольно запутанно. Можно понятнее?
Вы имели в виду, что вам нужно: (1) отфильтровать таблицу по определенному столбцу с определенными критериями (2), когда она находится в отфильтрованном состоянии - изменить любое значение в видимых строках таблицы на «X»? Пример: таблица состоит из 3 столбцов от ячейки A1 до C11, первая строка — заголовок. данные ячеек A2:A10 и B2:B10 представляют собой строку (не нужно знать, каково значение строки, но, например, строки от xxx01 до xxx10 от строки 2 до строки 10 в столбце A и столбце B). В C2:C6 значение равно 0, в C7:C11 значение равно 1. (продолжить)
Отфильтруйте столбец C с помощью 0, затем измените все, что видно (кроме заголовка) в отфильтрованной таблице, на «X». Когда фильтр очищен, вы видите в A2:A6, B2:B6 и C2:C6 «X», в A7:A11 и B7:B11 — от xxx06 до xxx10, а в C7:C11 — 1. Это что? ты имеешь в виду ?
Да, @karma, это правильно. Спасибо за пояснение!


Sub test()
Dim rg As Range
With ActiveSheet
Set rg = .Range("A1", .Range("C" & Rows.Count).End(xlUp)) 'change as needed
With rg
.AutoFilter Field:=3, Criteria1: = "=0", Operator:=xlAnd 'change as needed
.Resize(.Rows.Count - 1, .Columns.Count).Offset(1, 0).SpecialCells(xlCellTypeVisible).Value = "X"
.AutoFilter
End With
End With
End Sub
Вы сказали нам, что хотите сделать, но в чем именно заключается вопрос?