在excel vba中查找字符串中最后指定字符的位置

时间:2017-11-20 16:48:34

标签: excel-vba vba excel

我想知道下面代码中最后一个“\”的位置:

Application.ActiveWorkbook.Path

2 个答案:

答案 0 :(得分:2)

您使用INSTR查找一个字符串在另一个字符串中的位置。

例如:
C:\MyPC\SomeOtherPath - 反斜杠位于位置3,如此代码所示 INSTR("C:\MyPC\SomeOtherPath", "\")

这并没有给你你想要的东西 - 你想要反过来。幸运的是,VBA通过INSTRREV

提供了这一点

INSTRREV("C:\MyPC\SomeOtherPath", "\")

返回最后一个反斜杠的位置 - 位置8。

答案 1 :(得分:1)

您可以使用此代码:

Path = Application.ActiveWorkbook.Path
CharacterSearch = "\"
x = InStr(Path, CharacterSearch)
Do Until InStr(x + 1, Path, CharacterSearch) = 0
x = InStr(x + 1, Path, CharacterSearch)
Loop
Debug.Print x

\为0之前循环查找所有InStr的位置,即直到找到最后一个反弹为止。