- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE2/NUMPAGES2
自动生成资产编号VBA代码教程
在公司的日常运营中,我们可能需要为新购买的资产生成唯一的资产编号。这个编号通常包括资产购买的年份和一个序列号。在Excel中,我们可以利用VBA来自动化这个过程。本教程将指导你如何编写一个VBA事件处理程序来自动生成资产编号。
步骤1:打开VBA编辑器
1.在Excel中,点击“开发工具”标签页。(如果你没有看到“开发工具”标签页,请在Excel选项中开启它)
2.在“代码”组中,点击“VisualBasic”,打开VBA编辑器。
步骤2:编写Worksheet_Change事件处理程序
1.在VBA编辑器中,双击你想要编写代码的工作表(如Sheet1)以打开代码窗口。
2.在打开的代码窗口中,粘贴以下代码:
PrivateSubWorksheet_Change(ByValTargetAsRange)
禁用事件触发,防止无限循环
Application.EnableEvents=False
DimyearNumAsString
DimlastNumAsLong
检查是否更改了B列或F列中的单元格
IfTarget.Column=2OrTarget.Column=6Then
确保B列有内容且F列是一个日期
IfNotIsEmpty(Cells(Target.Row,B))AndIsDate(Cells(Target.Row,F))Then
从日期中提取年份
yearNum=Year(Cells(Target.Row,F).Value)
获取当前的最大序列号
lastNum=ThisWorkbook.Sheets(Sheet1).Range(Z1).Value
如果A列为空,即还没有生成编号
IfIsEmpty(Cells(Target.Row,A))Then
创建新的编号并更新序列号
lastNum=lastNum+1
ThisWorkbook.Sheets(Sheet1).Range(Z1).Value=lastNum
将新编号放入A列
Cells(Target.Row,A).Value=AL-yearNum-Format(lastNum,000)
EndIf
EndIf
EndIf
重新启用事件触发
Application.EnableEvents=True
EndSub
步骤3:理解代码逻辑
1.`PrivateSubWorksheet_Change(ByValTargetAsRange)`:这是Worksheet_Change事件的标准格式,当工作表中的单元格内容发生变化时触发。
2.`Application.EnableEvents=False`:在更改单元格内容时禁用事件触发,防止代码执行过程中再次触发事件,造成无限循环。
3.`DimyearNumAsString`:定义存储年份的字符串变量。
4.`DimlastNumAsLong`:定义存储序列号的长整型变量。
5.`IfTarget.Column=2OrTarget.Column=6Then`:判断更改是否发生在B列(第2列)或F列(第6列)。
6.`IfNotIsEmpty(Cells(Target.Row,B))AndIsDate(Cells(Target.Row,F))Then`:确保B列不为空,F列是有效的日期。
7.`yearNum=Year(Cells(Target.Row,F).Value)`:提取F列日期的年份。
8.`lastNum`:获取并更新最大序列号。
9.`Cells(Target.Row,A).Value`:在A列生成并放入新的资产编号格式。
10.`Application.EnableEvents=True`:代码执行完毕后重新启用事件触发。
步骤4:测试代码
在Excel工作表中的B列和F列输入数据,如果满足条件(B列有内容,F列是日期),那么当你离开这些单元格后,A列会自动生
您可能关注的文档
最近下载
- 盖洛普Q12解读课件.pptx
- 第三章方剂剂型与用法.ppt VIP
- 《带状疱疹》课件课件.pptx VIP
- 中国古代四大美男课件.ppt
- 空心电抗器漏磁引起围栏构架发热问题的处理 heating treatment of fence frame of air core reactor by magnetic flux leakage.pdf VIP
- ANSI-C119-0-2015-通用的测试方法和设备.pdf
- 英语-2025年1月广西高三调研考全科试卷和答案(12地级市).docx
- 吸引定律的mi密~讓你心想事成的阿拉丁神灯1.2版的.pdf VIP
- 易投操作手册.pdf VIP
- 读书分享《断舍离》.ppt VIP
文档评论(0)