提示:程序代码是根据实际工作的需求编写的,仅供参考学习使用。
一、需要实现的功能 :自动添加序列号
操作软件:Microsoft Office Excel 2021
使用功能:Visual Basic(开发工具--visualbasic编辑器--新建模块)
关于表格填充序列号的问题,虽然可以通过下拉填充柄来完成,但是如果表格的行数比较多,而且中间不断的添加和删除行,这时候去手动操作填充序列号会显得比较麻烦。
通过VBA程序可以一键完成,省时又省事。
二、程序代码
程序代码(一)
Sub 自动添加序列号()
Dim i As Integer
On Error GoTo Last
i = InputBox("请输入需要的值", "输入序列号 ")
For i = 1 To i
ActiveCell.Value = i
ActiveCell.Offset(1, 0).Activate
Next i
Last: Exit Sub
End Sub
代码解释:
On Error GoTo Last :Excel VBA中的错误处理语句,添加在过程中可能导致错误的代码行的前面,防止因为代码错误导致程序运行终止。其中Last为自定义的错误标签名称。
ActiveCell.Value :当前活动单元格的值。
ActiveCell.Offset(1, 0).Activate :活动单元格向下偏移一格。
运行此代码后,通过InputBox函数弹出提示框:
根据输入值在活动单元格内自动添加序列号。
活动单元格,就是当前鼠标选中的单元格。
程序代码(二)
在程序代码一的基础上,我修改了一下编写思路:让系统根据B列的数据自动添加序列号。
Sub 自动添加序列号()
Dim i%, y%, k%
On Error GoTo Last
y = 1
k = Cells(Rows.Count, 2).End(xlUp).Row - 2
For i = 1 To k
Sheet1.Cells(i + 2, 1) = y
y = y + 1
Next i
Last: Exit Sub
End Sub
代码解释:
删除了InputBox函数弹出提示框,让系统自动判断需要添加的值。
i% :Dim i As Integer的简写。
VB中数据类型的缩写:
| 数据类型 | 中文名 | 缩写符号 |
|---|---|---|
| Integer | 短整型 | % |
| Long | 长整型 | & |
| Single | 单精度浮点型 | ! |
| Double | 双精度浮点型 | # |
| Currency | 货币型 | @ |
| String | 字符型 | $ |
Cells(Rows.Count, 2).End(xlUp).Row :获取第2列最后一个非空单元格行号,这种写法可以在数据中间存在空行时,也能准确的获取到总行号数。
Sheet1.Cells(i + 2, 1) :里面的两个参数i+2表示从第几行开始向下生成序列,1表示在第1列生成。
sheet1表示工作表1(有可能是其他名称),根据实际情况而定。
本文介绍如何使用Excel VBA自动添加序列号,避免手动填充的繁琐。通过VBA程序,无论是大量数据还是频繁增删行,都能一键完成序列号的更新。程序代码包括两种方案,一种基于错误处理,另一种根据B列数据自动生成。

被折叠的 条评论
为什么被折叠?



