#如A列为正常的手机号码,现在要筛选A列中符合类似157******17这种条件的,有什么办法
3条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
在VBA中,你可以使用AutoFilter方法结合通配符来筛选符合特定模式的数据。对于你的问题,要在A列中筛选出类似“157******17”这种格式(即前三位固定为157,最后两位任意数字)的手机号码,可以按照以下步骤编写代码:
Sub FilterPhoneNumber() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") ' 替换 "Sheet1" 为实际需要操作的工作表名称 With ws.Range("A1:A" & ws.Cells(ws.Rows.Count, 1).End(xlUp).Row) ' 定义A列数据范围 .AutoFilter Field:=1, Criteria1:="=157*****17" ' 使用通配符筛选 End With End Sub上述代码首先定义了要筛选的工作表和A列数据范围,并通过
AutoFilter方法对第一列(即A列)应用筛选条件,其中Criteria1:="=157*****17"就是利用通配符匹配你所需要的手机号码格式。需要注意的是,Excel的AutoFilter并不支持中间连续多个星号(*)的精确匹配,它会将单个星号视为匹配任意单个字符。因此上述代码可能无法直接筛选出中间四位数不确定,但首尾数字确定的电话号码。如果你确实需要这样的筛选功能,可能需要采用自定义函数配合查找或循环遍历的方式来实现。
解决评论 打赏 举报无用 1