文本到列的VBA宏

时间:2017-04-07 11:28:13

标签: excel-vba vba excel

我正在尝试编写代码来执行以下操作:

  1. 使用文本到列,数据应分成不同的列。 单元格A1-A8中的数据如下:
  2. enter image description here

    此数据应显示在不同的列中。

2 个答案:

答案 0 :(得分:0)

喜欢这个吗?

Sub Macro()
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
    :=":", FieldInfo:=Array(Array(1, 1), Array(2, 1)), 
End Sub

答案 1 :(得分:0)

您可以通过构建字符串来动态构建FieldInfo参数。在下面的示例中,有10个结果列。 For循环构建sFieldInfo变量,并以Text格式指定所有列。

sComma = ""
sFieldInfo = ""
For x = 1 To 10
    sFieldInfo = sFieldInfo & sComma & " Array(" & x & ", xlTextFormat)"
    sComma = ","
Next x

Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.TextToColumns Destination:=Range("J5"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:="/", _
    TrailingMinusNumbers:=True, _
    FieldInfo:=Array(sFieldInfo)