Excel精英培训网

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

[已解决]求助:请老师们帮忙完善代码,并达到提速目的

[复制链接]
发表于 2012-7-31 13:07 | 显示全部楼层 |阅读模式
原有代码中当“货物档案”中货号类别不存在时运行出现错误,想实现当输入存货类别代码ComboBox2输入“货物档案”中货号类别不存在时,TEXTBOX1自动生成存货编码,例如:输入货号类别“5”,存货代码自动生成“5001”,其余的类推,另运行速度有点慢,请老师帮忙完善并提速,谢谢!



求助20070731.rar (17.61 KB, 下载次数: 12)
发表于 2012-7-31 14:03 | 显示全部楼层
本帖最后由 zjdh 于 2012-7-31 14:04 编辑
  1. Private Sub ComboBox2_Change()
  2.     P = 0
  3.     arr = Sheets("货物档案").Range("A2:A" & Sheets("货物档案").Range("A65536").End(3).Row)
  4.     For i = 1 To UBound(arr)
  5.         If Left(arr(i, 1), 1) = ComboBox2.Text And Right(arr(i, 1), 3) > P Then
  6.             P = Right(arr(i, 1), 3)
  7.         End If
  8.     Next
  9.     TextBox1.Text = ComboBox2.Text & Format(P + 1, "000")
  10. End Sub
复制代码
回复

使用道具 举报

发表于 2012-7-31 14:10 | 显示全部楼层
  1. Private Sub 保存_Click()
  2.     With Sheets("货物档案")
  3.     arr = .Range("A2:A" & .Range("A65536").End(3).Row)
  4.         For i = 1 To UBound(arr)
  5.             If arr(i, 1) = TextBox1.Text Then MsgBox ("编码重复"): Exit Sub
  6.         Next
  7.         i = .[a1].CurrentRegion.Rows.Count + 1
  8.         .Cells(i, 1) = TextBox1.Text
  9.         .Cells(i, 2) = TextBox2.Text
  10.         .Cells(i, 3) = TextBox3.Text
  11.         .Cells(i, 4) = ComboBox1.Text
  12.     End With
  13. End Sub
复制代码
回复

使用道具 举报

发表于 2012-7-31 14:12 | 显示全部楼层
编码.rar (17.64 KB, 下载次数: 3)
回复

使用道具 举报

 楼主| 发表于 2012-7-31 16:42 | 显示全部楼层
zjdh 发表于 2012-7-31 14:12

谢谢!能否加个保存后清空ComboBox1,ComboBox2,TextBox1,TextBox2,TextBox3的代码,速度快了很多。
回复

使用道具 举报

发表于 2012-7-31 19:27 | 显示全部楼层    本楼为最佳答案   
cyb412204170 发表于 2012-7-31 16:42
谢谢!能否加个保存后清空ComboBox1,ComboBox2,TextBox1,TextBox2,TextBox3的代码,速度快了很多。

编码.rar (18.75 KB, 下载次数: 5)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 02:46 , Processed in 0.378251 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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