У меня есть 2 листа настройки: исключения и проблемы
Проблемы содержит список идентификаторов CASE и столбцы, в которых перечислены «проблемы»
Исключения будет заполнено идентификаторами CASE ID, которые должны быть исключены (и удалены) из листа вопросов.
У меня вопрос в 2 раза:
- Правильно ли обрабатывает мой текущий код этот код?Есть ли способы улучшить это?
- Есть ли способ, чтобы код циклически проходил по всем столбцам?Или просто проще скопировать цикл FOR / NEXT для каждого столбца на листе «Проблемы»?
Код ниже:
Sub Exclusions()
'find exclusions and remove from issues sheet. once done delete any completely blank row
Dim i As Long
Dim k As Long
Dim lastrow As Long
Dim lastrowex As Long
Dim DeleteRow As Long
Dim rng As Range
On Error Resume Next
Sheets("Issues").ShowAllData
Sheets("Exclusions").ShowAllData
On Error GoTo 0
Application.ScreenUpdating = False
lastrowex = Sheets("Exclusions").Cells(Rows.Count, "J").End(xlUp).Row
With ThisWorkbook
lastrow = Sheets("Issues").Cells(Rows.Count, "A").End(xlUp).Row
For k = 2 To lastrowex
For i = 2 To lastrow
If Sheets("Exclusions").Cells(k, 10).Value <> "" Then
If Sheets("Exclusions").Cells(k, 10).Value = Sheets("Issues").Cells(i, 1).Value Then
Sheets("Issues").Cells(i, 11).ClearContents
End If
End If
Next i
Next k
End With
On Error Resume Next
For Each rng In Range("B2:P" & lastrow).Columns
rng.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Next rng
Application.ScreenUpdating = True
End Sub
Формат данных:
Лист «Проблемы»
CASE ID Issue 1 Issue 2 Issue 3
ABC123 No address No Name No Number
Лист «Исключения»
Issue 1 Issue 2 Issue 3
ABC123 DEF123 ABC123
Пример данных:
Лист проблем может содержать несколько идентификаторов CASE ID для одной или нескольких проблем,
CASE ID Issue 1 Issue 2 Issue 3
DEF123 No add No num
PLZ No name
Лист исключений - это, по сути, метод, позволяющий кому-то «исключить» конкретную проблему по любой причине.Таким образом, если определено, что идентификатор PLZ CASE ID, не имеющий имени, в порядке, его следует исключить из списка проблем.
Issue 1 Issue 2 Issue 3
DEF123 DEF123
PLZ не будет отображаться в приведенном выше примере, поскольку он находится на листе «ИСКЛЮЧЕНИЯ».