使用带有特殊字符的trim功能

时间:2013-05-22 18:34:03

标签: excel vba excel-vba

我有一列值(A),我想在左边修剪。 A列中的每个值都有一个/,用于分隔德语单词和英语单词。例如,一个值将是“nein / no”。 (注意两个词之间有一个空格。

我想要做的是编写一个在/后面的空格之后开始的修剪函数。换句话说,我希望我的例子中的值从“nein / no”修剪为“no”。令我困惑的部分是每个值都在变化,因此我不知道如何告诉excel从哪里修剪。我的代码应该看起来像这样

For each cl in range("A1:A300"). Trim cl.value. Next cl

3 个答案:

答案 0 :(得分:2)

尝试以下代码:

Dim start As Long

    For Each cl In Range("A1:A300")
        str = c1

        start = InStr(1, str, "/", vbTextCompare) + 1

        strVal = Trim(Right(str, Len(str) - start))
        msgbox strVal 
    Next cl

答案 1 :(得分:1)

从这样的事情开始:

For each cl in Range("A1:A300")
    With cl
        .Value = Trim(Len(.Value) - Right(.Value, _
             Application.WorksheetFunction.Find("/", .Value)))
    End With
Next

答案 2 :(得分:1)

您不需要VBA来解决此问题。一个简单的公式就足够了:

=RIGHT(A1,LEN(A1)-FIND(" ",A1,FIND(" ",A1)+1))

nein / no =


lederhosen / breeches = 马裤


doppelganger / doppelganger = doppelganger