たとえば、文字列がA-456-BC-123;DEF-456;GHI-789
です。そして、私は第2部:DEF-456
をキーワード456
で検索する必要があります。潜在的な問題は、最初の部分A-456-BC-123
にもキーワード456
があることです。現在のところ、私のロジックはsplit
です。最初に;
、split
の文字列を使用しています。もう一度-
を使用し、Array
の最後の項目を検索キーワード456
にします。もう1つは、DEF-456
のような完全なキーワードマッチをしたくないということです。私は456
をキーワードとして使用してDEF-456
を探したい、つまり456
を、必要な文字列の最後のセグメントにする必要があります。ここで配列の最後の項目を取得しようとすると、添え字が範囲外になる
は私のコードです:?
FirstSplit= split("A-456-BC-123;DEF-456;GHI-789",";")
For each code in FirstSplit
SecondSplit = split(FirstSplit,"-")
'get Array Count
Count = Ubound(SecondSplit)
'get the last item in Array
If SecondSplit(Count-1) = "456" Then
'doing something
End if
Next
現在、エラーが"Subscript out of range: '[number: -1]'"
は、誰かがそれを修正する方法を教えてもらえと言って、SecondSplit(Count-1)
で生成されますか。
また、 'Right()'から返される文字数をハードコーディングする代わりに、 'InStr(1、StrReverse(code)、" - ")'のようなものを使用してください。 – Lankymart