Excel VBA:如果我们知道字符串中第一个和最后一个字母的位置,如何提取子字符串

时间:2015-06-30 09:58:38

标签: string excel excel-vba vba

如果我们给出字符串中第一个和最后一个字母的位置,我们如何从字符串中提取子字符串?

Dim my_string As String
Dim my_substring As String
my_string="Excel/Sheet1.xls"

instrrev(my_string,"/")给出6(开始位置)

len(my_string)给出16(结束位置)

所以得到" Sheet1.xls"作为我的子串我们该怎么做?

或者我们可以选择字符直到" /"首先得到满足/

3 个答案:

答案 0 :(得分:4)

这个怎么样?

my_substring = Split("Excel/Sheet1.xls","/")(1)

答案 1 :(得分:2)

Mid(my_string,instrrev(my_string,"/")+1, len(my_string))

会给你Sheet1.xls

答案 2 :(得分:0)

这个解决方案怎么样:

Dim strFileName As String
strFileName = ActiveWorkbook.Path & "/" & ActiveWorkbook.Name
Debug.Print "Start Position: " & Len(strFileName) - InStr(1, StrReverse(strFileName), "/")
Debug.Print "Extacted file name: " & Mid(strFileName, Len(strFileName) - InStr(1, StrReverse(strFileName), "/") + 2)