Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4112|回复: 13

求教,验证身份证号,过程太大。大量重复语句怎样减少代码~~~~~~~

  [复制链接]
发表于 2012-3-9 18:37 | 显示全部楼层 |阅读模式
请各位大侠帮忙看下,我有一段代码是验证身份证号的前6位的,
本来我建立了一个工作表,保存在sheet里,用数组导入到字典中,后来觉得这样做excel的体积太大了,就想放到代码中(txt格式应该比xls小很多吧?):

  1. Function Addchk(dict As Variant)
  2. On Error Resume Next
  3. dict("110000") = "北京市"
  4. dict("110100") = "市辖区"
  5. dict("110101") = "东城区"
  6. dict("110102") = "西城区"
  7. dict("110103") = "崇文区"
  8. dict("110104") = "宣武区"
  9. 。。。
  10. 。。。。。。
  11. End Function
复制代码

大约有6000行吧,运行的时候提示“无法编译,过程太大”,诚心求教解决办法,谢谢~~~
{:091:}
发表于 2012-3-9 19:10 | 显示全部楼层
把地区码放在EXCEL里,用代码读取后,进行验证
回复

使用道具 举报

 楼主| 发表于 2012-3-9 19:11 | 显示全部楼层
我放到一个sheet 里,然后读取到dict,这样excel体积太大了,vba里可不可以添加资源啊?比如加一个txt,我来操作这个文件。
回复

使用道具 举报

发表于 2012-3-9 19:14 | 显示全部楼层
请上附件,请上附件!
回复

使用道具 举报

 楼主| 发表于 2012-3-9 19:16 | 显示全部楼层
请见附件~~~

{:191:}

小助手.rar

168.42 KB, 下载次数: 22

回复

使用道具 举报

发表于 2012-3-9 19:21 | 显示全部楼层
云端的猫 发表于 2012-3-9 19:16
请见附件~~~
  1. dict("110000") = "北京市"
  2. dict("110100") = "市辖区"
  3. dict("110101") = "东城区"
  4. dict("110102") = "西城区"
  5. dict("110103") = "崇文区"
  6. dict("110104") = "宣武区"
  7. dict("110105") = "朝阳区"
复制代码

那么的帅说的不错啊,这些数据别放代码里,工作表找个地方存起来,工作表可以隐藏,运行时读入数组啊。
回复

使用道具 举报

 楼主| 发表于 2012-3-9 19:29 | 显示全部楼层
我原来是用那种方法的,
  1. 110000        北京市
  2. 110100        市辖区
  3. 110101        东城区
  4. 110102        西城区
  5. 110103        崇文区
  6. 110104        宣武区
  7. 110105        朝阳区
复制代码
  1.     arr = Sheets("地区代码").Range("a1:b" & Sheets("地区代码").[a65536].End(xlUp).Row)
  2.     For i = 1 To UBound(arr)
  3.         d_add(CStr(arr(i, 1))) = arr(i, 2)
  4.         'test = dict.keys
  5.     Next
复制代码
后来发现单独放一个表里,excel文件的体积就增大了,每次我会用邮箱发好几个这个文件,公司的邮件有大小限制。。。
回复

使用道具 举报

 楼主| 发表于 2012-3-9 19:30 | 显示全部楼层
happym8888 发表于 2012-3-9 19:21
那么的帅说的不错啊,这些数据别放代码里,工作表找个地方存起来,工作表可以隐藏,运行时读入数组啊。

{:041:}..........................
回复

使用道具 举报

发表于 2012-3-9 19:32 | 显示全部楼层
如果这个能够做成功了,这将是一个很受欢迎的工具,期待您的努力!
回复

使用道具 举报

发表于 2012-3-9 19:38 | 显示全部楼层
本帖最后由 happym8888 于 2012-3-9 20:02 编辑
云端的猫 发表于 2012-3-9 19:29
我原来是用那种方法的,后来发现单独放一个表里,excel文件的体积就增大了,每次我会用邮箱发好几个这个文件 ...


这个地区代码不会变的,可以单建一个地区代码工作簿,其他工作表做成一个工作簿,发过一次,下次就不用发了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-7 08:32 , Processed in 1.646941 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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