我正在编写一个可以清理excel列表的宏。我需要取一个名单并删除名字,所以“John Smith”变成了“Smith”。我知道如何在空格之后但在空格看起来更棘手之前删除文本。
答案 0 :(得分:1)
使用RIGHT("John Smith",LEN("John Smith")-FIND(" ","John Smith"))
答案 1 :(得分:0)
这是一个子循环遍历命名区域中名为“rng_Names”的所有单元格,并删除除最后一个单词之外的所有单元格。
Sub removeAllButLastWord()
For Each cl In Range("rng_Names")
cl.Value = Right(cl.Value, Len(cl.Value) - InStrRev(cl.Value, " "))
Next cl
End Sub
<强>更新强>
以下sub只删除第一个单词:
Sub removeFirstWord()
For Each cl In Range("rng_Names")
cl.Value = Right(cl.Value, Len(cl.Value) - InStr(cl.Value, " "))
Next cl
End Sub
更新第二次
以下子句仅删除第一个单词,以及字符串“jr”(如果存在)
Sub removeFirstWordAndJR()
For Each cl In Range("rng_Names")
cl.Value = Replace(Right(cl.Value, Len(cl.Value) - InStr(cl.Value, " ")), " Jr", "", 1, -1, vbTextCompare)
Next cl
End Sub