Excel精英培训网

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

[已解决]求助,两行身份证号输入一个数字后自动跳转下一列

[复制链接]
发表于 2016-6-4 10:40 | 显示全部楼层 |阅读模式
本帖最后由 ybsnhgjm 于 2016-6-4 10:41 编辑

  两行身份证号输入一个数字后自动跳转到下一列,第一行身份证在网上搜索已经可以完成条件,第二行怎么弄,本人小白,求大师做成现成的上传,敬谢!!!   邮箱:ybsnhgjm@163.com
最佳答案
2016-6-6 21:35
本帖最后由 fjmxwrs 于 2016-6-6 21:41 编辑
ybsnhgjm 发表于 2016-6-5 14:25
是了,不知道咋弄,只要是这个结果就好,谢谢!

只需要增加一个条件即可
selection.row=3 or selection.row=4
  1. Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  2.      For i = 96 To 105
  3.          Application.OnKey "{" & i & "}"
  4.      Next i
  5.     If Selection.Row = 3 Or Selection.Row = 4 And Selection.Column > 5 And Selection.Column < 24 Then
  6.         For i = 96 To 105
  7.              Application.OnKey "{" & i & "}", "tz" & i - 96
  8.          Next i
  9.      End If
  10. End Sub
复制代码

生育第二个子女登记表.rar

15.37 KB, 下载次数: 12

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-6-4 19:14 | 显示全部楼层
单元格输入一个数字后自动转入下一列应该有点困难,我帮你出个主意,不如换个方法来解决:
1、当点击身份证处,自动弹出个输入框,一次性接收全部数字,再由VBA逐一放入对应单元格数据;
2、将身份证号输入到F3单元格,回车后由VBA自动逐一放入对应单元格;
3、加一个“数据库”表,只要输入姓名,一切数据都会自动完成填充。
回复

使用道具 举报

 楼主| 发表于 2016-6-5 07:52 | 显示全部楼层
wanao2008 发表于 2016-6-4 19:14
单元格输入一个数字后自动转入下一列应该有点困难,我帮你出个主意,不如换个方法来解决:
1、当点击身份证 ...

谢谢!!我上传的附件身份证第一行已经可以输入一个数字自动跳到下一列,就是第二行的身份证不会弄
回复

使用道具 举报

发表于 2016-6-5 08:02 | 显示全部楼层
为什么非要把身份号分列到18个单元格内
回复

使用道具 举报

 楼主| 发表于 2016-6-5 10:08 | 显示全部楼层
蝶·舞 发表于 2016-6-5 08:02
为什么非要把身份号分列到18个单元格内

我也挺纠结滴,领导就弄个固定破表格,是手动填写,可是需要填写的太多,不如电子版的快速,就求助大师们看有啥办法
QQ图片20160605100000.png
回复

使用道具 举报

发表于 2016-6-5 10:40 | 显示全部楼层
还不如用单元格事件,当某个单元格输入好18位身份证回车时,自动分列到18列单元格内,比你现在那段代码省事多了
回复

使用道具 举报

 楼主| 发表于 2016-6-5 14:25 | 显示全部楼层
蝶·舞 发表于 2016-6-5 10:40
还不如用单元格事件,当某个单元格输入好18位身份证回车时,自动分列到18列单元格内,比你现在那段代码省事 ...

是了,不知道咋弄,只要是这个结果就好,谢谢!

回复

使用道具 举报

发表于 2016-6-6 21:03 | 显示全部楼层
ybsnhgjm 发表于 2016-6-5 07:52
谢谢!!我上传的附件身份证第一行已经可以输入一个数字自动跳到下一列,就是第二行的身份证不会弄

既然第一行能,第2行就也能。祝 你好运!
回复

使用道具 举报

发表于 2016-6-6 21:20 | 显示全部楼层
ybsnhgjm 发表于 2016-6-5 07:52
谢谢!!我上传的附件身份证第一行已经可以输入一个数字自动跳到下一列,就是第二行的身份证不会弄

算了,不和你逗了,你打开“ThisWorkBook”把里面的程序改成这样试试:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
     For i = 96 To 105
         Application.OnKey "{" & i & "}"
     Next i
    If Selection.Row = 3 And Selection.Column > 5 And Selection.Column < 24 Then
        For i = 96 To 105
             Application.OnKey "{" & i & "}", "tz" & i - 96
         Next i
    ElseIf Selection.Row = 4 And Selection.Column > 5 And Selection.Column < 24 Then
        For i = 96 To 105
             Application.OnKey "{" & i & "}", "tz" & i - 96
         Next i
    End If

End Sub


回复

使用道具 举报

发表于 2016-6-6 21:35 | 显示全部楼层    本楼为最佳答案   
本帖最后由 fjmxwrs 于 2016-6-6 21:41 编辑
ybsnhgjm 发表于 2016-6-5 14:25
是了,不知道咋弄,只要是这个结果就好,谢谢!

只需要增加一个条件即可
selection.row=3 or selection.row=4
  1. Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  2.      For i = 96 To 105
  3.          Application.OnKey "{" & i & "}"
  4.      Next i
  5.     If Selection.Row = 3 Or Selection.Row = 4 And Selection.Column > 5 And Selection.Column < 24 Then
  6.         For i = 96 To 105
  7.              Application.OnKey "{" & i & "}", "tz" & i - 96
  8.          Next i
  9.      End If
  10. End Sub
复制代码

生育第二个子女登记表.zip

16.88 KB, 下载次数: 10

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 09:24 , Processed in 0.352604 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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