Excel VBA | 自动添加序列号

本文介绍如何使用Excel VBA自动添加序列号,避免手动填充的繁琐。通过VBA程序,无论是大量数据还是频繁增删行,都能一键完成序列号的更新。程序代码包括两种方案,一种基于错误处理,另一种根据B列数据自动生成。

提示:程序代码是根据实际工作的需求编写的,仅供参考学习使用。


一、需要实现的功能 :自动添加序列号

操作软件: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(有可能是其他名称),根据实际情况而定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值