VBAでLastIndexOfのような関数をお探しですね。
広告
JavaScriptにはこのような関数があるようですがVBAには無いようです。
後ろから検索してインデックスを返すのでしょうけど。
ループで文字列を何回か検索して、最後に見つかった時のインデックスを返せばいいのだと思います。
使う環境によっては不具合が出てきそうな気もしますが、簡単に書いたコードを載せておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Function LastIndexOf(ByVal strMoto As String, ByVal strKeyword As String) As Integer nIndex = 0 nIndex2 = -1 For i = 0 To 10000 nIndex = InStr(nIndex + 1, strMoto, strKeyword) If nIndex <= 0 Then Exit For Else nIndex2 = nIndex End If Next LastIndexOf = nIndex2 End Function |
広告