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;"")
根据您的地区设置,您可能需要更换字段分隔符“;” 按“,”