Option Explicit
Sub 插入空行并重定序号()
Dim ws As Worksheet
Dim i%, iEnd%, sName$, idex%, sTempName$
Set ws = ThisWorkbook.Sheets("你的表名")
iEnd = ws.Range("B65536").End(xlUp).Row
With ws
'排序:
'.Range("A3:M" & iEnd).Sort key1:=.Range("B3").Value, order1:=xlAscending, Header:=xlNo
.Range("A3:M" & iEnd).Sort key1:=.Range("B3"), order1:=xlAscending, Header:=xlNo
sName = 取得头部数字部分(.Range("B3").Value)
For i = 3 To iEnd + 10000
If .Cells(i, 2).Value2 = "" Then Exit For '遇空格结束循环
sTempName = 取得头部数字部分(.Cells(i, 2).Value2)
If sTempName <> sName Then
idex = 1
sName = sTempName
Rows(i).Insert ' 插入行
iEnd = iEnd '发现iEnd更新,但不知道为何最后几行不动,我把iEnd在循环终值+100,就能正确得出结果.但我在本行就是+10,也无法循环到最后
i = i + 1
'
网页链接 i
Else
idex = idex + 1
End If
.Cells(i, 1).Value2 = idex
Next
End With
网页链接 iEnd '
End Sub
Function 取得头部数字部分(ByVal str As String) As String
Dim i%, num$
For i = 1 To Len(str)
If IsNumeric(Mid(str, i, 1)) Then
num = num & Mid(str, i, 1)
'
网页链接 num
Else
取得头部数字部分 = num
Exit Function
End If
Next
取得头部数字部分 = num
End Function
Sub test()
Dim str
str = "01016左次卧书112桌衣柜B"
'IName = Evaluate(sStr) 'Error 2015
网页链接 取得头部数字部分(str)
End Sub
