`
发表于2015/7/30 15:28:20 楼主 
头像 等级:初学者
积分:3
财富值:2.0
身份:普通用户
第一个sheet1为手机号前七位对应的省份、城市,sheet2为手机号。  希望能够利用一段VBA代码,将sheet2里的手机号对应sheet1匹配出省份与城市,因为平日处理的数据实在太多了,所以不想用普通公式,太慢了~~   辛苦各位高手编辑一段代码解决这个问题。   感谢~
我的个性签名
发表于 2015/7/30 15:44:48   
头像 等级:高手
积分:117
财富值:1
身份:普通用户
vba.可以考虑使用find函数吧
http://club.excelhome.net/blog-238368-1696.html

find资料供参考


我的个性签名
发表于 2015/7/30 15:45:37   
头像 等级:高手
积分:117
财富值:1
身份:普通用户
Sub 按钮1_Click()
    Application.ScreenUpdating = False
    arr = ActiveSheet.UsedRange
    For j = 2 To UBound(arr)
        If Len(arr(j, 1)) = 11 Then
            Set Rng = Sheets(1).Columns(1).Find(Left(arr(j, 1), 7), lookat:=xlWhole)
            If Not Rng Is Nothing Then
                arr(j, 2) = Rng.Offset(0, 1)
                arr(j, 3) = Rng.Offset(0, 2)
            End If
        End If
    Next j
    ActiveSheet.UsedRange = arr
    Application.ScreenUpdating = True
End Sub
我的个性签名
发表于 2015/7/30 15:46:17   
头像 等级:高手
积分:117
财富值:1
身份:普通用户
如果要查找的数据比较多,可以考虑用数组+字典看看
附件:   下载
我的个性签名

快速回复

目前不允许游客发表,请 登录 注册 后再发贴。