Как назначить список для переменной "классиф"? код: также пример в файле прилагаю
Код
Sub тест()
Dim классиф
Dim i As Long
классиф = "09999/0" 'каким образом сюда ещё добавить ещё один классификатор, например 03022/0?
For i = Cells(Rows.count, 1).End(xlUp).row To 1 Step -1
If InStr(1, Cells(i, 1), классиф, vbTextCompare) > 0 Then
Rows(i).Delete
End If
Next' Application.ScreenUpdating = True
End Sub
Sub тест()
Dim классиф
Dim i As Long
классиф = "09999/0, 03022/0" 'добавляем самым простым образом
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
'меняем местами в InSTR что с чем сравнивать, т.к. в ячейке будет значение меньшее, чем в переменной.
If InStr(1, классиф, Cells(i, 1), vbTextCompare) > 0 Then
Rows(i).Delete
End If
Next ' Application.ScreenUpdating = True
End Sub
А, понятно. Я только увидел ваш файл-пример в первом сообщении. Боюсь, что тогда надо макрос переделывать при добавлении кодов. Либо через вложенные циклы, либо через цикл по списку кодов и метод Find - FindNext.
Пытливый, если именно в таком виде как есть,- неззя, тогда не надо.. ладно уже. главное, если искать не часть текста, а содержимое целой ячейку- в таком виде всё работает, а если часть текста- фигвам((
Sub uuu1()
Dim классиф
Dim i As Long
Dim n As Long
классиф = Array("09999/0", "03022/0")
For n = 0 To UBound(классиф)
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If InStr(1, Cells(i, 1), классиф(n), vbTextCompare) > 0 Then
Rows(i).Delete
End If
Next
Next
End Sub
Kuzmich, красава, использовал вот этот фрагмент в другой теме:
Код
' пропускаем нормальные фрагменты, и делаем список их:
классиф = Array(" ШТ. ПО ", " ПАК. ПО ")
For n = 0 To UBound(классиф)
If InStr(1, Cells(i, 5), классиф(n), vbTextCompare) > 0 Then
GoTo metka
End If