我有一个VBA宏来从字符串中提取数字序列并将它们分开
例如,单元格A1值为Order No.2 123 Order No.3 234 Order No.4 345
在宏之后,单元格B1值应为123, 234, 345
由于A & BBB
中Order No.A BBB
的字符数不固定,例如Order No.324 1814406
,我不能使用左侧函数来清除特定数量的char来解决问题。有人可以给我一些建议吗?
如果我能为您澄清任何事情,请告诉我
下面是我现在拥有的宏,这可以清除非数字字符并返回2, 123, 3, 234, 4, 345
Sub Testing()
str = Range("A1")
For x = 1 To Len(Range("A1"))
If Not IsNumeric(Mid(str, x, 1)) Then
Mid(str, x) = " "
End If
Next x
Range("B1") = Replace(Application.Trim(str), " ", ", ")
End Sub
答案 0 :(得分:1)
也许Split函数可以像那样有用
Option Explicit
Sub GetData()
Dim inp As String
inp = "Order No.221 123 Order No.13 234 Order No.4 345"
Dim v As Variant
v = Split(inp, " ")
Dim i As Long
For i = LBound(v) + 2 To UBound(v) Step 3
Debug.Print v(i)
Next i
End Sub