Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Удалить строки В ЯЧЕЙКАХ, которые не соотв. условию - не равны одному из значений
 
Здравствуйте. Подскажите пожалуйста вот что. Надо удалить все строки в САМИХ ЯЧЕЙКАХ по условию если данного значения (то-есть строки в ячейке) нет в столбце D.
Пример прилагается
 
Добрый день. При помощи UDF можно. Только одно замечание - в столбце B строки переносятся комбинацией символов 13 и 10, а в столбце D 13-й символ где-то есть, а где-то нет. С учетом вышеизложенного - из столбца B 13-е символы удаляются (на результат это не влияет), а сравнение со столбцом D идет по началу строки.
Код
Public Function ClearList(st As String, LUT As Range) As String
    Dim arr() As String
    Dim j As Integer
    
    st = Replace(st, Chr(13), "")
    arr = Split(st, Chr(10))
    ClearList = ""
    For j = LBound(arr) To UBound(arr)
        If Not IsError(Application.VLookup(arr(j) & "*", LUT, 1, 0)) Then
            ClearList = ClearList & IIf(Len(ClearList) > 0, Chr(10), "") & arr(j)
        End If
    Next j
End Function
 
Спасибо. Работает!
Страницы: 1
Читают тему (гостей: 1)