
'增加了几种规则
Option Explicit
Sub abc()
Dim i, j, a, b, t, p
a = [a1].CurrentRegion.Resize(, 2).Value
b = "0.123456789号"
For i = 2 To UBound(a)
For j = 1 To Len(a(i, 2))
If InStr(b, Mid(a(i, 2), j, 1)) = 0 Then _
Mid(a(i, 2), j, 1) = Space(1)
Next
t = Split(Replace(a(i, 2), "号", "号 ")): p = -1
For j = 0 To UBound(t)
If Len(t(j)) Then
If InStr(t(j), "号") > 1 Then a(i, 2) = t(j): Exit For
If IsNumeric(t(j)) And p = -1 Then p = j
End If
Next
If j = UBound(t) + 1 And p > -1 Then a(i, 2) = t(p)
Next
[d1].Resize(UBound(a), 2) = a
End Sub