文本到列将覆盖列

时间:2015-11-06 09:32:17

标签: excel vba excel-vba

我遇到了VBA的另一个问题。我使用TexttoColumns Sub以分号分隔列中的每个单元格。现在我想在那个之后插入Columns,它应该包含分隔的值。这一切在一开始就很好用,但现在它突然不会插入新的细胞,但会覆盖旧的细胞。

示例(愿望):

Row1           Row2   Row3   
Tree;PC;House |Data1 |Data2 -->  Tree|PC|House|Data1|Data2

示例(如何):

Tree;PC;House|Data1|Data2 --> Tree|PC|House

Workbooks(Ziel).Worksheets(Zieltab).Columns(Spalte).TextToColumns Destination:=Columns(Spalte), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(Array(1, 2), Array(2, 2))

1 个答案:

答案 0 :(得分:2)

Range.TextToColumns method不会插入列。如果允许继续,它将始终覆盖数据。

With Workbooks(Ziel).Worksheets(Zieltab).Columns(Spalte)
    'insert two columns to the right
    .Cells(1).Resize(1, 2).Offset(0, 1).EntireColumn.Insert
    'split the first column into itself and the two new column
    .TextToColumns Destination:=.Cells(1), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=True, Comma:=False, Space:=False, Other:=False, _
        FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2))
End With