打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel VBA应用

以上这个问题,解决方案如下:

Alt+F11快捷键,进入VB编辑器,插入[模块1],在其代码窗口中,输入如下代码:

Sub Iphone(rng)

Dim getpage As String, TelNumber As String

TelNumber = Replace(Replace(rng.Value, "-", ""), "+86", "")

With CreateObject("Microsoft.XMLHTTP")

.Open "get", "http://www.ip138.com:8080/search.asp?action=mobile&mobile=" & TelNumber, False

.send

getpage = StrConv(.responseBody, vbUnicode, &H804)

getpage = Split(Split(getpage, "卡号归属地</TD>")(1), " <a href=")(0)

Dim DiQu As String, Ka As String, arr(1 To 1, 1 To 3)

DiQu = Split(getpage, "</TD>")(0)

DiQu = Split(DiQu, ">")(UBound(Split(DiQu, ">")))

arr(1, 1) = Split(DiQu, " ")(0)

arr(1, 2) = Split(DiQu, " ")(1)

Ka = Split(Split(getpage, "卡 类 型</")(1), "</TD>")(0)

arr(1, 3) = Split(Ka, ">")(UBound(Split(Ka, ">")))

rng.Offset(0, 1).Resize(1, 3) = arr

End With

End Sub

Sub 获取信息()

Dim rng As Range

If TypeName(Selection) <> "Range" Then Exit Sub

If Intersect(ActiveSheet.UsedRange, Selection) Is Nothing Then MsgBox "请选择您要查询的手机号码,再执行该过程!": Exit Sub

With Selection

If .Columns.Count > 1 Then MsgBox "只能选择一列的区域!", vbOKOnly, "提示": Exit Sub

If .Row = 1 Then MsgBox "请不要选择标题行!", vbOKOnly, "提示": Exit Sub

For Each rng In .Cells

If Len(rng) > 10 Then Call Iphone(rng)

Next rng

.CurrentRegion.Borders.LineStyle = xlContinuous

.Cells(1).Offset(-1, 1).Resize(1, 3) = Array("省份", "归属地", "卡类型")

End With

[模块1]代码截图如下:

最后,选择查询的手机号码区域,把光标定位在代码任意位置,按[执行]按钮,效果如下:

神奇,简单吧!喜欢就点赞,评论,分享哦!!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
字符串怎么拆分成VBA数组?
VBA中数组的读取!
Excel259个常用宏
可以生成数组的函数,数组的处理
用VBA代码查询两列数据差异
VBA数组参数的传递和返回
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服