Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel宏:将单元格拆分为两列,第一列由数字组成,第二列为文本_Excel_Vba - Fatal编程技术网

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

Excel宏:将单元格拆分为两列,第一列由数字组成,第二列为文本,excel,vba,Excel,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

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

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工具“文本到列”并不是一个真正有效的想法。我正在寻找用于此目的的内置宏解决方案。

确保第二列为空

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

我将确定该列中最后使用的行,然后迭代,同时将前5个字符放入一列,然后将其余字符放入第二列。为什么不使用“文本到列”?这有什么不好?只需使用设置宽度选项并完成。。。2次点击不是一个选项吗?