
Option Explicit
Sub ABC()
Dim Arr(), Rng, St
Dim J As Long, K As Long, Num
Dim Txt As String
Rng = Range("B4", Cells(Rows.Count, "B").End(xlUp))
ReDim Arr(1 To UBound(Rng), 1 To 3)
For J = 1 To UBound(Rng)
St = Split(Rng(J, 1))
For K = 0 To UBound(St)
If St(K) Like "*[0-9]*" Then
Txt = Split(Replace(St(K), "/", " "))(0)
Num = GetDigits(Txt & "")
Arr(J, 1) = Left(Txt, Len(Txt) - Len(Num))
Arr(J, 2) = Num
Arr(J, 3) = St(K + 1)
Exit For
End If
Next
Next
Range("C4").Resize(UBound(Arr), 3) = Arr
End Sub
Function GetDigits(AllNum As String) As Variant
Dim X As Long
For X = 1 To Len(AllNum)
If Mid(AllNum, X, 1) Like "#" Then GetDigits = GetDigits & Mid(AllNum, X, 1)
Next
End Function
|
Option Explicit
Sub ABC()
Dim Arr(), Rng, St
Dim J As Long, K As Long, Num
Dim Txt As String
Rng = Range("B4", Cells(Rows.Count, "B").End(xlUp))
ReDim Arr(1 To UBound(Rng), 1 To 4)
For J = 1 To UBound(Rng)
St = Split(Rng(J, 1))
For K = 0 To UBound(St)
If St(K) Like "*[0-9]*" Then
Txt = Split(Replace(St(K), "/", " "))(0)
Num = GetDigits(Txt & "")
Arr(J, 1) = Left(Txt, Len(Txt) - Len(Num))
Arr(J, 2) = Num
Arr(J, 3) = Split(St(K), "/")(1)
Arr(J, 4) = St(K + 1)
Exit For
End If
Next
Next
Range("C4").Resize(UBound(Arr), 4) = Arr
End Sub
Function GetDigits(AllNum As String) As Variant
Dim X As Long
For X = 1 To Len(AllNum)
If Mid(AllNum, X, 1) Like "#" Then GetDigits = GetDigits & Mid(AllNum, X, 1)
Next
End Function |
