Страницы: 1
RSS
VBA. Удалить строки, содержащие определенный критерий
 
Добрый день, мастера!
Бьюсь не первый час((
не получается удалить строки, и каждый раз разные ошибки(((
то Метод Delete из класса Range завершен неверно, то другое

условие: в умной таблице в столбце j прописана формула массива, при результате x необходимо удалить все строки с этим показателем
прошу о помощи!!
файл не получилось загрузить((
Номер   обращенияДата обращенияКонтрольная дата   исполненияКол-во дней до   ответа на обращение Группа№ закладнойЗаемщикиТекущий статусФормула 1Формула 2
1004504.02.202125.02.202120201230987Иванов112309871y
1004629.12.202026.01.202154401230988Петров212309882y
1004729.01.202118.02.202131401230989Сидоров312309893y
1004829.01.202118.02.202131401230990Попов412309904y
1004918.01.202105.02.202144401230991Дедов512309915y
1005004.02.202125.02.202155401230992Козлов612309926y
1005104.02.202125.02.202119201230993Баранов712309937y
1005229.12.202026.01.202154401230994Федоров812309948y
1005104.02.202125.02.202118201230993Баранов712309937x
1005229.12.202026.01.202153401230994Федоров812309948x




Код
    ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=10, Criteria1:= _
        "x"
        ActiveSheet.AutoFilter.Range.Offset(1, 0).Rows.SpecialCells(xlCellTypeVisible).Select
        Selection.EntireRow.Delete Shift:=xlUp
        
        
End Sub
 
У вас столбец j пустой судя по вашему примеру. Критерий отбора будет по столбцу "Формула 2"?
Изменено: artemkau88 - 23.03.2021 12:33:26
 
Цитата
artemkau88 написал: Критерий отбора будет по столбцу "Формула 2"?
Да, по нему
криво вставилось походу
Номер   обращенияДата обращенияКонтрольная дата   исполненияКол-во дней до   ответа на обращение Группа№ закладнойЗаемщикиТекущий статусФормула 1Формула 2
1004504.02.202125.02.202120201230987Иванов112309871y
1004629.12.202026.01.202154401230988Петров212309882y
1004729.01.202118.02.202131401230989Сидоров312309893y
1004829.01.202118.02.202131401230990Попов412309904y
1004918.01.202105.02.202144401230991Дедов512309915y
1005004.02.202125.02.202155401230992Козлов612309926y
1005104.02.202125.02.202119201230993Баранов712309937y
1005229.12.202026.01.202154401230994Федоров812309948y
1005104.02.202125.02.202118201230993Баранов712309937x
1005229.12.202026.01.202153401230994Федоров812309948x
 
Посмотрите код, подправил столбец

Код
Sub DeleteRows()
Dim wshData As Worksheet
Dim i
Set wshData = ActiveSheet
For i = wshData.UsedRange.Rows.Count To 1 Step -1
    If Cells(i, 10) = "x" Then Cells(i, 10).EntireRow.Delete ' здесь 10 - это номер столбца. Можете поменять под свой столбец с формулой
Next
End Sub
Изменено: artemkau88 - 23.03.2021 12:47:17
 
Цитата
artemkau88 написал:
Посмотрите код, подправил столбец
Спасибо большое!
Магия свершилась!!!!
Страницы: 1
Наверх