我有一个从 A1 到 T1 的一千行和 20 列的 Excel Sheet1。该范围内的每个单元格中都有一些数据,通常是一两个单词。在 Sheet2,A1 列中,我有一个包含 1000 个值的数据列表。
我正在使用 VBA 脚本从 Sheet1 中的 Sheet2 列表中查找单词并清除找到的单元格的值。
我现在有一个仅适用于 Sheet1 的 A1 列的 VBA 脚本,它只删除行。这是脚本:
Sub DeleteEmails()
Dim rList As Range
Dim rCrit As Range
With Worksheets("Sheet1")
.Range("A1").Insert shift:=xlDown: .Range("A1").Value = "Temp Header"
Set rList = .Range("A1", .Cells(Rows.Count, 1).End(xlUp))
End With
With Worksheets("Sheet2")
.Range("A1").Insert shift:=xlDown: .Range("A1").Value = "Temp Header"
Set rCrit = .Range("A1", .Cells(Rows.Count, 1).End(xlUp))
End With
rList.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=rCrit, Unique:=False
rList.Offset(1).SpecialCells(xlCellTypeVisible).Delete shift:=xlUp
Worksheets("Sheet1").ShowAllData
rList(1).Delete shift:=xlUp: rCrit(1).Delete shift:=xlUp
Set rList = Nothing: Set rCrit = Nothing
End Sub
有人可以帮我吗?我需要清除值,而不是删除行,这应该适用于 Sheet1 的所有列,而不仅仅是 A1。