У меня есть строковые массивы в AC23-AC130 в формате 2,5,8 и 7,8,8.Удалить массивы строк, которые не содержат значений в ячейках I1 J1 K1
Я ищу код для установки данных, которые должны быть проверены на I1: K1, если это значение не соответствует 1, все массивы строк, которые не соответствуют I1 J1 K1, должны быть удалены.
Я пробовал код на кнопке, но он не проходит.
поэтому нормальные номера в I1 J1 K1 должны быть проверены на диапазон строк. Например, если I1 J1 K1 равно 8 7 7, то все строки, которые не содержат 8 7 7, должны быть удалены. Пример: 2,4,1 не содержат 8 7 7, поэтому его необходимо удалить. 4,5,8 содержит 8, поэтому его не следует удалять.
Sub Tester()
Dim sKeep As String, x As Long
Dim rngSearch As Range, c As Range
'J1:K1 has values to keep and checked against arrays Ac23-ac130
sKeep = Chr(0) & Join(Application.Transpose(Range("j1:k1").Value), _
Chr(0)) & Chr(0)
Set rngSearch = Range("AC23:AC130")
For x = rngSearch.Cells.Count To 1 Step -1
Set c = rngSearch.Cells(x)
If InStr(sKeep, Chr(0) & c.Value & Chr(0)) = 0 Then
c.Delete shift:=xlShiftUp
End If
Next x
End Sub
Я хочу, чтобы убедиться, что я понимаю, вы хотите проверить для каждой ячейки в колонке AC («AC23: AC130»), что его содержание не равна, по меньшей мере, один из ячеек «I1: K1», затем удалите эту ячейку. Если одно из числовых значений внутри него соответствует одной из ячеек, то не удаляйте его, правильно? Каждая ячейка в столбце AC имеет несколько номеров внутри нее? с ',' как разделителем? –
Вы проверили код в моем ответе ниже? любая обратная связь? –