macros从第一次出现的数字溢出细胞

我在一个单元格中提供这样的数据

Adadre Roos. 669.138 J2 Aluminium Development Associat. 621.357.7:669.71 J3 ALA 669.711n j4 

我希望文本部分将是另一个1列和数字部分

所以有任何macros都会find第一个出现的号码,并把它从那里拆分到另一个

我从Web得到了下面的代码。根据你的需求希望有所帮助经testing

 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 

一旦你运行代码,那么结果将如下所示

在这里输入图像说明

只要使用这个数组公式就可以得到文本部分:

 =LEFT(A1;MIN(IFERROR(FIND({0;1;2;3;4;5;6;7;8;9};A1);""))-1) 

在A1和Down中的值,在B1中写出第一个公式

您需要Ctrl Shift Enter来input公式。

然后在C1写(获取数字部分):

 =SUBSTITUTE(A1;B1;"") 

根据您的地区设置,您可能需要更换字段分隔符“;” 按“,”