求帮写一段vba代码,在excel文件中自动插入缺序号的空行,补全序号

如图的数据,A列为序号,缺了2、6、10等等。希望能写个宏代码,能自动在缺号的位置插入空行,把序号补全,变成下面这样:... 如图的数据,A列为序号,缺了2、6、10等等。希望能写个宏代码,能自动在缺号的位置插入空行,把序号补全,变成下面这样: 展开
 我来答
平阳虎01
高粉答主

2015-09-06 · 每个回答都超有意思的
知道大有可为答主
回答量:3.7万
采纳率:75%
帮助的人:4906万
展开全部
Sub 插入行()
    For i = [a65536].End(3).Row To 2 Step -1
        If Cells(i, 1) - 1 <> Cells(i - 1, 1) Then
            Rows(i & ":" & i).Insert Shift:=xlDown
            Cells(i, 1) = Cells(i + 1, 1) - 1
        End If
    Next
End Sub
更多追问追答
追问
这个虽然可以插入但是每次只能插一行啊,如果缺的行都是单行还好,如果缺了连着的好几行就不行了。比如如果序号是1、5、8,就会变成1、2、5、6、8,而不是12345678。需要多次才能达成填满啊。有没有办法一次就补齐的。
追答
Sub 插入行()
    For i = [a65536].End(3).Row To 2 Step -1
        Do While Cells(i, 1) - 1 <> Cells(i - 1, 1)
            Rows(i & ":" & i).Insert Shift:=xlDown
            Cells(i, 1) = Cells(i + 1, 1) - 1
        Loop
    Next
End Sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
欧阳绝尘
2015-09-06 · 知道合伙人教育行家
欧阳绝尘
知道合伙人教育行家
采纳数:620 获赞数:7608
excel、word、几何画板等软件爱好者

向TA提问 私信TA
展开全部
如果不用VBA没关系的话其实可以通过在A列最下面填充一列从1到所有数中最大值的数据,然后通过删除重复值,再进行排序来完成。
追问
这个我知道,但是很麻烦啊,首先要在下面拖出一大串数字,然后再删除重复值,然后再排序。vba的话会快很多,如果能写出合适的代码,只需要按一个快捷键就解决了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式