2013-08-01 47 views

回答

1

如果“ - ”是一致的分隔符,那么它应该非常简单。

下面是一些命令,你可以使用:

Strings and Manipulations

编辑:添加简单的代码

Sub textuptodash() 
    i = 1 'start on row 1 
    Do While Not IsEmpty(Cells(i, 1)) 'do until cell is empty 
     If Not InStr(1, Cells(i, 1), "-") = 0 Then 'if dash in cell 
      Cells(i, 1) = Left(Cells(i, 1), InStr(1, Cells(i, 1), "-") - 1) 'change cell contents 
     End If 
     i = i + 1 'increment row 
    Loop 
End Sub 
0

尝试使用Split如下:

Sub MySplit() 

    Dim rngMyRange As Range, rngCell As Range 
    Dim strTemp() As String, strDel As String, strTest As String 
    Dim lngCnt As Long 
    Set rngMyRange = Range("A1:A4") 

    For Each rngCell In rngMyRange 
     ' Split the test based on the delimiter 
     ' Store entries in a vector of strings 
     strTemp = Split(rngCell.Text, "-") 
     ' Reset cell value and intermmediate delimiter 
     rngCell.Value = vbNullString 
     strDel = vbNullString 
     ' Scan all entries. store all of them but not the last -* part 
     For lngCnt = LBound(strTemp) To UBound(strTemp) - 1 
      rngCell = rngCell & strDel & strTemp(lngCnt) 
      ' If we enter the loop again we will need to apend a "-" 
      strDel = "-" 
     Next lngCnt 
    Next rngCell 
End Sub 

欧tput的:

Red 
Blue 
Purple 
White-US 

这是不完全清楚你想怎么最后一个条目被分割:假设你要删除的最后一个“ - *”只位。要仅保留第一部分,请注释掉For lngCnt循环。

我希望这有助于!

相关问题