需要一些帮助。我已经很长一段时间没有编写脚本/编码了,现在已经生疏了。
问题:I有一个电子表格(Excel),其中包含一个月以上的调用(超过30k记录)。我的目标是过滤掉具有特定区号(免费、本地calls...etc)的电话,并计算出长途电话所欠的金额。
此外,这是一个退休之家和最终用户不能正确输入电话号码。我需要在数字开头去掉3-4位数字.
例子: 1800-XXX-XXXX或800-XXX-XXXX \ 1605-XXX-XXXX
下面是我目前的代码,我不知道如何将区域中的3-4位数字合并,并让它用前3-4位数解析H列中的每条记录
电话号码存储在H列中
阵列TFL将存储我需要过滤的所有区号。
Sub CleanEntry()
Dim i As Integer
Dim TFL As Variant
TFL = Array("1800", "1877")
For i = Sheet1.UsedRange.Rows.Count To 1 Step -1
If Left(Cells(i, "H"), 4) Like TFL(i) Then
Sheet1.Rows(i).EntireRow.Delete
End If
Next
End Sub发布于 2016-06-17 16:55:59
我个人会为此使用一个正则表达式:
Sub CleanEntry()
Dim i As Integer
Dim filter As New RegExp
filter.Pattern = "^1?(8(77|00))|605" 'Or whatever else you need to match.
For i = Sheet1.UsedRange.Rows.Count To 1 Step -1
If filter.Test(Trim$(Cells(i, "H").Value)) Then
Sheet1.Rows(i).EntireRow.Delete
End If
Next
End Sub注意:您将需要添加对Microsoft正则表达式5.5的引用。
https://stackoverflow.com/questions/37886413
复制相似问题