VBA文本到列,括号作为拆分器

时间:2017-08-01 16:49:35

标签: excel vba excel-vba text delimiter

这可能有点基础,但我基本上想把我的数据从一串文本拆分成单独的单元格。下面是我要分割的那种字符串。

输入:1)VITOL-GUNVORSA,$ 286.5 / mt,2kt,FOB Rdam,FE 输出:So the first row starting in column D is how I would like it

这是我现有的代码,它允许我拆分除名字之外的所有数字,即Vitol。现在我的问题是,如何添加其他OtherChar以便我也可以按)拆分?

感谢。

Private Sub CommandButton1_Click()


    Dim myRng As Range
    Dim LastRow As Long

    LastRow = Sheets("Sheet1").UsedRange.Rows.Count

    With Sheets("Sheet1")
        Set myRng = Sheets("Sheet1").Range("A2:A" & LastRow)
    End With


    myRng.TextToColumns _
      Destination:=Range("D2:E2:F2:G2:H2"), _
      DataType:=xlDelimited, _
      Tab:=False, _
      Semicolon:=False, _
      Comma:=False, _
      Space:=True, _
      Other:=True, _
      OtherChar:="-"



End Sub

1 个答案:

答案 0 :(得分:0)

遍历您范围内的单元格,运行SUBSTITUTE,然后执行文本到列。

Private Sub CommandButton1_Click()

    Dim myRng As Range
    Dim LastRow As Long

    LastRow = Sheets("Sheet1").UsedRange.Rows.Count

    With Sheets("Sheet1")
        Set myRng = Sheets("Sheet1").Range("A2:A" & LastRow)
    End With

    Dim cel As Range
    For Each cel In myRng
        cel.Value = WorksheetFunction.Substitute(cel.Value, "-", ", ")
    Next cel

    myRng.TextToColumns _
            Destination:=Range("D2:E2:F2:G2:H2"), _
            DataType:=xlDelimited, _
            Tab:=False, _
            Semicolon:=False, _
            Comma:=False, _
            Space:=True, _
            Other:=True, _
            OtherChar:=")"
End Sub

enter image description here