【发布时间】:2026-01-08 21:35:01
【问题描述】:
我想创建一个与白名单匹配的宏,然后删除不在白名单上的所有内容。我有以下代码:
Sub WHITELIST()
Dim LR As Long, i As Long
With Sheets("Sheet1")
LR = .Range("A" & Rows.Count).End(xlUp).Row
For i = LR To 1 Step -1
If IsError(Application.Match(.Range("A" & i).Value, Sheets("Whitelist").Columns("A"), 0)) Then .Rows(i).Delete
Next i
End With
End Sub
但我的代码删除了整行。我只想删除范围 A:B 并将单元格向上移动(行大小是可变的,所以我总是想检查到最后一行 - 最多 40.000 行)。重要的是“重要数据”也不会被删除。这是宏应该如何工作的示例:
希望有人可以帮助我
问候
【问题讨论】: