|    | 
     ▼真田● さん: 
 
>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オブジェクトを使って記述)することが 
必要です。 
 
それと、検索文字列の商分コードですけど、検索したあとセット? 
検索前にセットして検索することが必要ですよ。 
 
 | 
     
    
   |