excel怎样把空格里,自动添加上序列号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel怎样把空格里,自动添加上序列号相关的知识,希望对你有一定的参考价值。

Sub 空格纵向编号()
Dim rng As Range, rng1 As Range, rng2 As Range, Num As Double, nc As Double, nr As Double, i As Double, j As Double
Set rng1 = Range("a1").End(xlToRight)
Set rng2 = Range(Range("a1"), rng1)
nc = rng2.Columns.Count
nr = ActiveSheet.UsedRange.Rows.Count
For i = 1 To nc
    If Cells(1, i) = 1 Then
        For j = 2 To nr
            If Cells(j, i) = "" And Application.WorksheetFunction.IsNumber(Cells(j - 1, i)) = True Then
                Cells(j, i) = Cells(j - 1, i) + 1
            Else
                If Cells(j, i) = "" And Application.WorksheetFunction.IsNumber(Cells(j - 1, i)) = False Then
                    Cells(j, i) = 1
                End If
            End If
        Next
    End If
Next
End Sub

欢迎追问,满意请采纳哦。

使用方法:按Alt+F11打开VBE界面,插入,模块,复制粘贴以上代码,关闭当前VBE界面,按Alt+F8,执行代码就OK啦。你把表格保存为xls或者xlsm格式,以后都只要Alt+F8一下就好了。

参考技术A 把问题说清楚些,表格中的所有空白单元格按1,2,3.......的序号一直添加下去?追问

追答

按Alt+F11,在工作表对应的窗口复制代码:
Sub 空格自动编号()
Dim RowNum As Double, ColNum As Double, Num As Double, Num1 As Double
RowNum = ActiveSheet.UsedRange.Rows.Count
ColNum = ActiveSheet.UsedRange.Columns.Count
For i = 2 To ColNum
Num = 0
Num1 = 1
If Cells(1, i) = 1 Then
Num = 1
Num1 = 2
End If
For j = Num1 To RowNum
If Cells(j, i).Value = "" Then
Num = Num + 1
Cells(j, i) = Num
Else
Cells(j, i) = Cells(j, i)
Num = 0
End If
Next j
Next i
End Sub
这是所有空白单元格都会自动编号的!!
你上传个excel文件的话,可以做的更好
回到工作表按ALt+F8 运行那个代码

参考技术B 没看懂B列是什么意思,是不是都是一千以内的数字呀?留邮箱或者QQ发表追问

我要的效果就是,B列里那样的,都是一千以内的数字

追答

我已经实现了,要表的话留QQ或者邮箱呀

———————分割线实现过程———————————

原表如下

新增辅助表

辅助表函数如下:

A2单元格公式:=IF(Sheet1!A2="","",Sheet1!A2)

B2单元格公式:=IF($A2="","",IFERROR(IF(Sheet1!B2="",Sheet4!B1+1,Sheet1!B2),1))

往下一拉,往右一拖就可以了。

形成原表的公式还复杂些

———————原表实现过程分割线———————————

原表B2单元格:=IF($A2="","",IF(ROUNDDOWN($A2/100,0)=B$1,TEXT(INT(ABS(B$1)),"[dbnum2]"),""))


原表L2单元格:=IF($A2="","",IF(MOD(ROUNDDOWN($A2/10,0),10)=L$1,TEXT(INT(ABS(L$1)),"[dbnum2]"),""))


原表V2单元格:=IF($A2="","",IF(MOD($A2,10)=V$1,TEXT(INT(ABS(V$1)),"[dbnum2]"),""))


三个单元格各种下拉右拉,复制粘贴第一行换成1就OK啦

以上是关于excel怎样把空格里,自动添加上序列号的主要内容,如果未能解决你的问题,请参考以下文章

具体怎样能把excel第一行变成最后一行,第二行变成倒数第二行...第n行变成倒数的?

Jquery的序列化方法为啥要把空格替换成加号

怎样在excel下拉中字母递增?

怎样在Excel中求某一个符合条件的数据的行号和列号

在Excel表格中,怎样让连续数字自动生成到我需要的数据段?

在excel中如何将输入的数字自动转换为日期