
'第一个为字母,后面10个为数字,仅匹配一次。
Option Explicit
Sub abc()
Dim i, j, a, b, t
a = [a1].CurrentRegion.Value
b = Split("-,=,.,/", ",")
For i = 1 To UBound(a)
a(i, 1) = Replace(a(i, 1), Space(1), vbNullString)
For j = 0 To UBound(b)
a(i, 1) = Replace(a(i, 1), b(j), Space(1))
Next
t = Split(a(i, 1))
For j = 0 To UBound(t)
If Len(t(j)) = 11 Then
If LCase(Left(t(j), 1)) >= "a" And LCase(Left(t(j), 1)) <= "z" _
And IsNumeric(Right(t(j), 10)) Then Exit For
End If
Next
If j = UBound(t) + 1 Then a(i, 1) = vbNullString Else a(i, 1) = t(j)
Next
[c1].Resize(UBound(a)) = a
End Sub