関数を使用してInStr
、別の文字列で特定の文字列を見つけようとしています。
見つかったら、この文字列の直後にあるもの (たとえばEnd-user ) を確認し、この部分を返します。これまでのところ、私はこれを書くことができました:
If InStr(LCase(analysis), "End-user:") > 1 Then Range("AE" & i).Value = "OK"
OK
この文字列が検出されると、関連するセルをマークします。
誰か助けてくれませんか?
関数を使用してInStr
、別の文字列で特定の文字列を見つけようとしています。
見つかったら、この文字列の直後にあるもの (たとえばEnd-user ) を確認し、この部分を返します。これまでのところ、私はこれを書くことができました:
If InStr(LCase(analysis), "End-user:") > 1 Then Range("AE" & i).Value = "OK"
OK
この文字列が検出されると、関連するセルをマークします。
誰か助けてくれませんか?
InStr
検索する文字列 ("End-user:") の最初のインデックスをターゲット文字列 ( Analysis
) に返します。必要な部分文字列を計算するには、長さと一緒にそれを取る必要があります。またLCase
、ある部分では使用していて、他の部分では使用していないことに注意してください (検索する文字列が大文字を含む限り、決して見つからないことを引き起こします)。あなたが望むものを提供するコード:
Dim analysis As String : analysis = "End-user: anyone"
Dim stringToSearch as String : stringToSearch = "End-user:"
Dim finalBit As String
Dim startIndex As Integer: startIndex = InStr(LCase(analysis), LCase(stringToSearch))
If (startIndex > 0 And InStr(LCase(analysis), LCase(stringToSearch)) < Len(analysis)) Then
Dim endIndex As Integer: endIndex = startIndex + Len(stringToSearch)
finalBit = Mid(analysis, endIndex, Len(analysis) - endIndex + 1)
End If
'finalBit -> " anyone"