Sub jjkljkl() arr = Range("a2:a" & Range("a60000").End(xlUp).Row) Set reg = CreateObject("VBScript.RegExp") With reg .Pattern = "[^a-zA-Z]+" .Global = True For i = 1 To UBound(arr) arr(i, 1) = Len(reg.Replace(arr(i, 1), "")) Next End With Range("c2").Resize(UBound(arr), 1) = arr Set reg = Nothing End Sub
Sub t1() Dim reg As New RegExp, rng As Range, sj With reg .Global = 1 .Pattern = "[a-zA-Z]" For Each rng In Range("a1", Cells(Rows.Count, 1).End(xlUp)) Set sj = .Execute(rng) rng.Offset(0, 1).Value = sj.Count Next rng End With End Sub