如何在VBA中从路径中移除姓氏

4

我是VBA的新手,我正在处理以下任务:

nPath = "Root\zTrash - No longer needed\NOC\NOC"

我希望从nPath中移除\NOC,以便只显示Root\zTrash - No longer needed

我在使用以下代码:

=(Left(nPath, InStrRev(nPath, "\") - 1))

但我只得到了NOC


顺便提一下,您的标题不正确,因为它说“从路径中删除最后一个元素”,而且它似乎是 https://dev59.com/SVgQ5IYBdhLWcg3wolao#42462687 的完全重复。 - A.S.H
几乎完全重复的内容:如何在VBA中删除路径的最后一个元素 - A.S.H
2个回答

2
这个怎么样?
Left(nPath, InStr(nPath, "\NOC") - 1)


您正在使用 InStrRev 函数查找最后一个 \,这不是您想要的结果。请使用带有 \NOC 参数的 InStr 函数来查找第一个实例的 \NOC


1
你可以分为两个阶段完成它:
Dim newString as String
newString = Left(nPath, InStrRev(nPath, "\") - 1)
newString = Left(newString , InStrRev(newString , "\") - 1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接