|
▼真田● さん:
>VBAではVLOOLUPは使わない方が良いと言ってる人がおいようですが
想像ですけど、たぶん
結果1 =Application.VLOOKUP(検索文字列,検索領域,2,FALSE)
結果2 =Application.VLOOKUP(検索文字列,検索領域,3,FALSE)
結果3 =Application.VLOOKUP(検索文字列,検索領域,5,FALSE)
といったようなコード。
同じ検索文字列ですね。VLOOKUPは検索領域に、その検索文字列があるかどうかを
チェックしますよね。
そうすると、↑の3つのコード、同じ検索を3回行っていることになります。
取り出すものがかわるだけですよね。
こういったときには VLOOKUP を使わず、MATCH で検索し、ヒットすれば
その行の該当の列の値を取得するほうが、処理効率はいいですよね。
そういうことを言っているのだと思います。
それと、
>この数式に問題があるでしょうか?
まず、検索領域って、別ブックだったのですか?
いずれにしても、その検索領域の記述は間違っています。
アップされたコードのそれは【セルの数式】での記述スタイルですね。
VBAで使う場合は、VBAとしての記述(Rangeオブジェクトを使って記述)することが
必要です。
それと、検索文字列の商分コードですけど、検索したあとセット?
検索前にセットして検索することが必要ですよ。
|
|