ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: ugyun

[求助] 如何根据县市区匹配所在省市县区

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-11-12 09:12 | 显示全部楼层
KCFONG 发表于 2013-11-10 21:37
see if fit your request

KCFONG 老师:
真的是不好意思再麻烦您了,您第二次的代码在数据少的情况下,完全正常,现在表里3000多个,运行出错(如下图),点调试,xx = Mid(y, d - 2, 2)这一行变成黄色,还请老师帮忙看看

第三次.jpg

匹配省市县区(第三次求助) v1.rar (100.27 KB, 下载次数: 29)

TA的精华主题

TA的得分主题

发表于 2013-11-12 10:49 | 显示全部楼层
Bug was fixed.
New function was added.
if you select column A, listbox will be shown.
Click the listbox will input data

匹配省市县区(第三次求助) v2.rar

140.56 KB, 下载次数: 189

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-11-13 21:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ugyun 发表于 2013-11-12 09:12
KCFONG 老师:
真的是不好意思再麻烦您了,您第二次的代码在数据少的情况下,完全正常,现在表里3000多个 ...

KCFONG 版主的对比,有所改进

封开县社会保险基金管理局基金转移收入户      
广东省肇庆市封开县
重庆市县开县

速度有点慢,省市县代码对照表 数据整理占用不少时间  不用每次整理可提速


自治县用曾用名方式解决,同时解决改名问题。如襄樊改襄阳

匹配省市县区(第三次求助) v2.rar

154.95 KB, 下载次数: 151

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-11-16 19:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
将数据整理单独分出。

将简称、原名、其他名统一写入对应的曾用名单元格,并以“,”分隔。
将引起混淆的词组列入 需排除词组 列。如:人力资源 与 资源县。
更改数据后请按 数据整理 按钮

有二个以上选择的:在单元格输出“请选择”

省市县曾用名数据是按我理解加入,请核查调整。

匹配省市县区.rar

206.83 KB, 下载次数: 220

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-11-16 19:51 | 显示全部楼层
ugyun 发表于 2013-11-12 09:12
KCFONG 老师:
真的是不好意思再麻烦您了,您第二次的代码在数据少的情况下,完全正常,现在表里3000多个 ...

又改进了。分二个过程,减少等待时间(数据整理在50s左右)。

TA的精华主题

TA的得分主题

发表于 2014-1-7 18:32 | 显示全部楼层
KCFONG 发表于 2013-11-10 10:14
I had 完善本表中的代码, please test

你好老师 如何查找出这个呢根据详细地址判断行政区代码

TA的精华主题

TA的得分主题

发表于 2015-1-1 14:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢分享,领教了

TA的精华主题

TA的得分主题

发表于 2015-4-11 12:53 | 显示全部楼层
KCFONG 发表于 2013-11-12 10:49
Bug was fixed.
New function was added.
if you select column A, listbox will be shown.

还有点小问题,麻烦大神再帮我改改代码,问题描述我放在表格里面,先谢过了
  
1.由于最新的省市区有更新,我把最新的省市区数据粘贴到了省市县代码对照表里面,并删除了不必要的代码表列,点周整理数据,出现下边越界提示.还请大神改下代码

2.黄底颜色部分比如第5行,正确应该是生成海南省海口市 龙华区,但是为什么生成的是海南省\海口市\市辖区

3.D列数据当出现错误时,点击重新选择的时候,默认全部生成了省市区,不能选择某个市,如何改成只选择对应市,E列可选项则只出现D列市下面的区县可选项

4、经常出现运行之后可选项不可选的情况
匹配省市县区1次修改.rar (128.42 KB, 下载次数: 74)

TA的精华主题

TA的得分主题

发表于 2015-4-12 14:34 | 显示全部楼层
see if help you

匹配省市县区1次修改 v1.rar

112.21 KB, 下载次数: 326

TA的精华主题

TA的得分主题

发表于 2015-4-12 19:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub test()
  2.     Set reg = CreateObject("vbscript.regexp")
  3.     With reg
  4.         .Global = True
  5.         .Pattern = "(\S+[省市县区乡])"
  6.     End With
  7.     With Sheets("省市县代码对照表")
  8.         brr = .UsedRange
  9.     End With
  10.     With Sheets("账户信息")
  11.         arr = .UsedRange
  12.         For i = 2 To UBound(arr)
  13.             Set mat = reg.Execute(arr(i, 1))
  14.             If mat.Count > 0 Then
  15.                 For j = 2 To UBound(brr)
  16.                     S = brr(j, 2) & brr(j, 3) & brr(j, 4) & brr(j, 2) & brr(j, 4) & brr(j, 3)
  17.                     m = mat(0)
  18.                     If InStr(S, m) > 0 Then
  19.                         arr(i, 4) = brr(j, 2) & brr(j, 3)
  20.                         m2 = Left(brr(j, 4), Len(brr(j, 4)) - 1)
  21.                         If InStr(m2, m) > 0 Or InStr(m, m2) > 0 Then
  22.                             arr(i, 5) = brr(j, 4)
  23.                         End If
  24.                     End If
  25.                 Next
  26.             End If
  27.         Next
  28.         .UsedRange.Offset(1, 3).ClearContents
  29.         .[a1].Resize(UBound(arr), UBound(arr, 2)) = arr
  30.     End With
  31. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 16:55 , Processed in 0.050559 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表