Добрый день! Пришел снова к Вам за помощью. Есть список материала, позиции которого удаляются макросом, если он есть в списке исключений. Но некоторый материал, который имеет порядковый номер, но тоже присутствует в списке исключать не нужно. В этом и прошу помощи. Как удалить весь материал, который находится в списке исключений, но не трогать те, которые имеют порядковый номер. Заранее благодарен!
Добрый день! Пришел снова к Вам за помощью. Есть список материала, позиции которого удаляются макросом, если он есть в списке исключений. Но некоторый материал, который имеет порядковый номер, но тоже присутствует в списке исключать не нужно. В этом и прошу помощи. Как удалить весь материал, который находится в списке исключений, но не трогать те, которые имеют порядковый номер. Заранее благодарен!CHEVRYACHOK
Dim shMat As Worksheet, shIskl As Worksheet, arrMat() Dim msg As Long, lr As Long, i As Long
Application.ScreenUpdating = False
Set shMat = Sheets("Материал") Set shIskl = Sheets("Исключить")
lr = shMat.Cells(shMat.Rows.Count, "B").End(xlUp).Row arrMat() = shMat.Range("A1:B" & lr).Value
For i = UBound(arrMat) To 1 Step -1 If arrMat(i, 1) = Empty Then If WorksheetFunction.CountIf(shIskl.Columns("A"), arrMat(i, 2)) <> 0 Then shMat.Rows(i).Delete msg = msg + 1 End If End If Next
Application.ScreenUpdating = True
MsgBox "Удалено строк: " & msg, vbInformation
End Sub
[/vba]
[vba]
Код
Sub Удаление_позиций()
Dim shMat As Worksheet, shIskl As Worksheet, arrMat() Dim msg As Long, lr As Long, i As Long
Application.ScreenUpdating = False
Set shMat = Sheets("Материал") Set shIskl = Sheets("Исключить")
lr = shMat.Cells(shMat.Rows.Count, "B").End(xlUp).Row arrMat() = shMat.Range("A1:B" & lr).Value
For i = UBound(arrMat) To 1 Step -1 If arrMat(i, 1) = Empty Then If WorksheetFunction.CountIf(shIskl.Columns("A"), arrMat(i, 2)) <> 0 Then shMat.Rows(i).Delete msg = msg + 1 End If End If Next