Excel精英培训网

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

[已解决]TextBox1自动显示流水号的最后一个号+1

[复制链接]
发表于 2013-3-29 21:57 | 显示全部楼层 |阅读模式
请老师们帮忙:
先谢过老师们!
    我的窗体上有ComboBox1和TextBox1,表Sheet2为数据。当打开窗体,点击窗体的ComboBox1,选中某个单位时,TextBox1则自动显示表Sheet2中该单位的流水号的最后一个号+1。(也就是生成一个的流水号)
最佳答案
2013-3-29 22:28
这样的效果?

  1. Private Sub ComboBox1_Change()
  2. Dim C As Range, Ar
  3.   With Sheets("Sheet2")
  4.     Set C = .Range("B:B").Find(Me.ComboBox1.Value, , , 1, , 2)
  5.     If C Is Nothing Then
  6.       MsgBox "数据: " & Me.ComboBox1.Value & " 未找到!!", , "错误"
  7.       Exit Sub
  8.     Else
  9.       Ar = Split(C.Offset(, 1).Value, "Y")
  10.       Me.TextBox1.Value = Ar(0) & "Y" & Ar(1) + 1
  11.     End If
  12.   End With
  13. End Sub
复制代码
QQ截图201303-1.jpg

生成流水号.rar

14.02 KB, 下载次数: 25

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-3-29 22:26 | 显示全部楼层
Private Sub ComboBox1_Change()
    Dim rng As Object
    Set rng = Sheets("Sheet2").Range("b:b").Find(ComboBox1.Value, , , , , xlPrevious)
    If rng Is Nothing Then
        TextBox1 = "无记录"
    Else
        TextBox1 = rng.Row
    End If
End Sub
回复

使用道具 举报

发表于 2013-3-29 22:28 | 显示全部楼层    本楼为最佳答案   
这样的效果?

  1. Private Sub ComboBox1_Change()
  2. Dim C As Range, Ar
  3.   With Sheets("Sheet2")
  4.     Set C = .Range("B:B").Find(Me.ComboBox1.Value, , , 1, , 2)
  5.     If C Is Nothing Then
  6.       MsgBox "数据: " & Me.ComboBox1.Value & " 未找到!!", , "错误"
  7.       Exit Sub
  8.     Else
  9.       Ar = Split(C.Offset(, 1).Value, "Y")
  10.       Me.TextBox1.Value = Ar(0) & "Y" & Ar(1) + 1
  11.     End If
  12.   End With
  13. End Sub
复制代码
回复

使用道具 举报

发表于 2013-3-29 22:30 | 显示全部楼层
爱疯 发表于 2013-3-29 22:26
Private Sub ComboBox1_Change()
    Dim rng As Object
    Set rng = Sheets("Sheet2").Range("b:b").F ...

find 少了查找的匹配模式,会受到 手工设置的影响,所以还是应该添加上的好,防止意外

回复

使用道具 举报

 楼主| 发表于 2013-3-29 22:38 | 显示全部楼层
无聊的疯子 发表于 2013-3-29 22:28
这样的效果?

非常感谢老师,就是这效果。比我预想的还周全,谢谢~!谢谢!!!
回复

使用道具 举报

 楼主| 发表于 2013-3-29 22:54 | 显示全部楼层
无聊的疯子 发表于 2013-3-29 22:28
这样的效果?

老师,运行中发现一个问题,加入数据表中不同单位的水号字母不同,则会出错。
如:甲单位是;甲-D01、乙单位则是;乙-E01、而丙单位又是;丙-Y01等,单点击ComboBox1时会报错。能改吗?

QQ截图202.jpg
QQ截图201.jpg
回复

使用道具 举报

发表于 2013-3-29 23:02 | 显示全部楼层
闲乐人 发表于 2013-3-29 22:54
老师,运行中发现一个问题,加入数据表中不同单位的水号字母不同,则会出错。
如:甲单位是;甲-D01、乙 ...

如果你的数字都只有2位的话,可以直接截取数字进行累加
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-29 07:45 , Processed in 0.333820 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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