我在文档中有2张(带电话号码)。如果number1存在于sheet1中,我想从sheet2中删除该行。Visual Basic Excel - 宏删除行
我快到了(这是我第一次使用VBA)。但任何人都可以帮我完成最后一部分。
Sub CleanList()
Dim stopList As Range, cell1 As Range
Set stopList = Sheet1.Range("A1:A10000")
For Each cell1 In stopList
Dim fullList As Range, cell2 As Range
Set fullList = Sheet2.Range("A2:A10000")
For Each cell2 In fullList
If NumberFix(cell1.Value) = NumberFix(cell2.Value) Then
cell2.EntireRow.Delete
End If
Next cell2
Next cell1
End Sub
Private Function NumberFix(ByVal nr As String) As String
If Not nr.StartsWith("46") Then
nr = "46" + nr
End If
NumberFix = nr
End Function
您使用的是哪个版本的Excel?你能澄清一下“需要帮助最后一部分”吗?您可能需要查看http://www.ozgrid.com/VBA/RemoveDuplicates.htm,这是从范围中删除重复项的许多解决方案之一。 – ExternalUse 2012-04-25 12:35:53
+ 1 @ExternalUse:Yup高级过滤器是删除重复的最快方法之一 – 2012-04-25 14:13:04