情境:
第1页和第34页;客户记录"包含c的客户详细信息。行中的4000个客户(即姓名,电话号码,电子邮件,地址),每行一个客户端。
表2"无效数字"只包含一列,这是一个电话号码列表,现在已知无效且不再有效。
要求:
自动浏览工作表1并(完全)删除任何包含电话号码(即第2列)的客户记录(即行),该电话号码与表2和#34中列出的任何电话号码相匹配;#34号码无效;
结果:
工作表1将是已删除所有包含无效数字的记录的客户记录列表。
我在StackOverflow上找到了以下代码,但问题是我不知道如何编程或使用它?!我正在使用Excel for Mac 2011。
Public Sub delete_selected_rows()
Dim rng1 As Range, rng2 As Range, rngToDel As Range, c As Range
Dim lastRow as Long
With Worksheets("Sheet1")
lastRow = .Cells(.Rows.Count,"A").End(xlUp).Row
Set rng1 = .Range("A1:A" & lastRow)
End With
Set rng2 = Worksheets("Sheet2").Range("A:A")
For Each c In rng1
If Not IsError(Application.Match(c.Value, rng2, 0)) Then
'if value from rng1 is found in rng2 then remember this cell for deleting
If rngToDel Is Nothing Then
Set rngToDel = c
Else
Set rngToDel = Union(rngToDel, c)
End If
End If
Next c
If Not rngToDel Is Nothing Then rngToDel.EntireRow.Delete
End Sub
有人能告诉我如何做到这一点,或者如果上面的代码对我的工作是正确的,如何将其实际输入Excel并运行它?我只是从打开的工作簿开始,然后坐在那里的两张纸!
由于
答案 0 :(得分:0)
以上代码可以满足您的要求。但是你需要根据你的情况改变一小部分你的手机没有在sheet1的B列中,所以你需要改变波纹管部分
Set rng1 = .Range("B2:B" & lastRow)
您必须在Visual Basic编辑器中粘贴代码才能在Mac中打开,请参阅此链接Click here