Excel宏:将单元格拆分为两列,第一列由数字组成,第二列为文本

时间:2015-12-22 00:31:35

标签: excel excel-vba vba

我在列中有以下格式的数据:

A栏

1.1.1 XYZ CCC(本文的大小各不相同)

1.1.2 PQR AAA(本文的大小各不相同)

1.2.1 LMN NNN(本文的大小各不相同)

1.2.2 HGF LAA(本文的大小各不相同)

我想将上述内容分成两列:

A栏

1.1.1

1.1.2

1.2.1

1.2.2

B栏

XYZ CCC(此文字的大小各不相同)

PQR AAA(此文字的大小各不相同)

LMN NNN(此文字的大小各不相同)

HGF LAA(本文的大小各不相同)

行数可能很大,但可能因文件而异。我需要定期为多个文件(> 50)执行此操作。因此,使用Excel工具“文本到列”并不是一个真正有效的想法。我正在为此目的寻求用MACRO构建的解决方案。

1 个答案:

答案 0 :(得分:1)

确保第二列为空。

Sub SplitMe()
  Dim rng As Variant, i As Long
  rng = Range("A1:B" & Cells(Rows.Count, 1).End(xlUp).Row).Values
  For i = 1 to Ubound(rng)
    rng(i, 2) = Mid(rng, InStr(rng, " "))
    rng(i, 1) = Left(rng, InStr(rng, " ") - 1)
  Next
  Range("A1:B" & Cells(Rows.Count, 1).End(xlUp).Row) = rng
End Sub

来自三星Galaxy Note 4 ...可能包含错误:P