我将这样的数据放在一个单元格中
Adadre Roos. 669.138 J2
Aluminium Development Associat. 621.357.7:669.71 J3
A.L.A. 669.711n j4
我希望文本部分是1列,而另一个
中的数字部分所以有任何宏会找到第一个出现的数字并将其从那里分割到另一个
答案 0 :(得分:0)
我从Web获得了以下代码。根据您的需要,希望有所帮助。的测试强>
Sub SplitText()
Dim r As Range, rC As Range
Dim Match, Matches
Dim matchCount As Integer
Set r = Range("A2", Range("A2").End(xlDown))
With CreateObject("VBScript.RegExp")
.Pattern = "(\d+|\D+)"
.Global = True
For Each rC In r
Set Matches = .Execute(rC.Value)
matchCount = 0
For Each Match In Matches
matchCount = matchCount + 1
rC.Offset(, matchCount).Value = Match
Next
Next rC
End With
end sub
运行代码后,结果将如下所示
答案 1 :(得分:0)
只需使用此数组公式即可获取文本部分:
=LEFT(A1;MIN(IFERROR(FIND({0;1;2;3;4;5;6;7;8;9};A1);""))-1)
A1和Down中的值,在B1
中写下第一个公式您需要按Ctrl Shift Enter输入公式。
然后在C1写入(获取数字部分):
=SUBSTITUTE(A1;B1;"")
根据您的区域设置,您可能需要替换字段分隔符“;”通过“,”