私のプログラムが配列内の文字列を検索する方法を高速化しようとしています。例えば、私は1000単語の列に "test"という単語を検索するプログラムを書いています。VBAの文字列比較アルゴリズムとは何ですか?
現在、私のプログラムは単純です:
If Cells(x,1).Value = "test" Then
...
End If
はしかし、ここでの私の考えは、
If Left(Cells(x,1).Value,1) = "t" Then
If Left(Cells(x,1).Value,2) = "te" Then
... and so on ...
End If
あるしかし、私は私がVBA
を求めるときかどうかをテストする場合は疑問に思い始めましたvalue = "test"
、それは私はその2番目のコードで概説したプロセスを通過するのですか?基本的に、私の質問は、2番目のコードは冗長ですか?私は、VBAが本質的に一致する文字列全体をどのように探すかには慣れていません。私がValue = "string"
を探すように頼んだときに誰かがVBAの流れを見せてくれたら、それは本当に助けになるかもしれません。ありがとう!
「Range.Find」メソッドを使用するのはなぜですか? –
または 'Match'関数?最適化を検討しているなら、確かに、ブルートフォースのセルワイズ反復に頼るよりも優れた組み込み方法があります。 –
セルを繰り返し読み込むとすぐにウィンドウに表示されるようなメリットがあります。値を読み取るシートに行くオーバーヘッドは比較的大きいので、繰り返し繰り返すのは良い方向ではありません。 –