【发布时间】:2017-04-21 01:00:31
【问题描述】:
我很难合并代码以实现我的目标。我在一个工作簿中的两张纸之间工作。 “A”列引用了“C”列中可能有多行的项目。 “C”可能有数千个标签代码,但“SheetCode”表中列出了 52 个标签代码。我的目标是查看一个项目,看看它是否具有 52 个标签代码之一,如果是,则删除该项目及其下方的所有行,直到“A”列标签编号中的下一个项目。我希望我的宏:
- 在 C 列中搜索工作表“SheetCode”(A2:A53) 中列出的任何值
- 如果找到,请引用 A 列中关联的填充单元格并删除下面的所有行,直到它遇到 A 列中的下一个填充单元格,但继续搜索“C”列的其余部分以获取更多 (A2:A53) 值.
- 循环
我发布了 2 张图片。 SheetCode 工作表具有值列表。我添加了条件格式,以便主电子表格中的任何单元格值都是彩色的。最终,代码应该删除列 A 值下方的所有行。此示例将显示第 14-21 行和第 29-44 行已删除。
这是我目前所拥有的。我的问题是我想避免
Sub Remove_TBI_AB()
Const TEST_COLUMN As String = "C"
Dim Lastrow As Long
Dim EndRow As Long
Dim i As Long
Application.ScreenUpdating = False
With ActiveSheet
Lastrow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
EndRow = Lastrow
For i = Lastrow To 1 Step -1
If .Cells(i, TEST_COLUMN).Value2 Like "161000" Then
'Here I could at continuous "_or" and then in next line add the next code to find, but I have the list and would rather reference the list of values
.Rows(i & ":" & EndRow).Delete
EndRow = i - 1
' Here I need code to delete all cells below the associated value in Column A until the next populated cell.
EndRow = i - 1
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
工作表代码;目标值
主工作表
【问题讨论】: