本帖最后由 ittech 于 2024-7-14 15:40 编辑
众所周知,Excel里给含有合并单元格的列插入序号时不是很方便,直接拖拽肯定是错的。
这种情况应该会经常碰到,网上呢有一些用公式解决的我自己试了一下并不理想,还是VBA简单粗暴。
新建个宏运行即可,大家应该都会哈。
![]()
此时,通过使用VBA代码,可以完美解决此问题,如图所示
![]()
代码直接放下边喽。
Sub FillSerialNumbersConsecutively()
Dim rng As Range
Dim cell As Range
Dim serialNum As Long
Set rng = Application.InputBox("请选择填充序号的范围(例如A1:A100):", "选择范围", Type:=8)
If rng Is Nothing Then
MsgBox "未选择范围,序号填充已取消。"
Exit Sub
End If
serialNum = 1
For Each cell In rng
If cell.MergeCells Then
If cell.Address = cell.MergeArea(1, 1).Address Then
cell.Value = serialNum
serialNum = serialNum + 1
End If
Else
cell.Value = serialNum
serialNum = serialNum + 1
End If
Next cell
End Sub
|