- ベストアンサー
VBAでVlookupを使って現場検索を行う方法
- VBAを使用して、現場検索登録シートでVlookupを使って一覧シートからデータを表示する方法について説明します。
- Vlookupを使用して表示されるデータが一部正常に検索されない現象が発生しています。原因を特定する方法についても知りたいです。
- Vlookupのマクロを使用してデータを検索していますが、一部のデータの表示が正しくありません。解決策や改善方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
回答が遅くなりました。 > 一覧表が昇順になっていないからだとわかりましたが 最後にFALSEを指定してますので、ソート順は関係無いと思いますけど、、、 > このエラーがでます。「#REF!」 "=VLOOKUP(R2C5,一覧!R5C1:R2000C54,55,FALSE)" でC54なのに55を指定してますから#REF!が出るのは当然でしょう。 > また、検索結果が空白の場合、「0」が表示されるのを この書き方で行くのなら、 ActiveCell.FormulaR1C1 = "=VLOOKUP(R2C5,一覧!R5C1:R2000C54,4,FALSE)" を ActiveCell.FormulaR1C1 = _ "=IF(VLOOKUP(R2C5,一覧!R5C1:R2000C54,4,FALSE)="""", """"," & _ "VLOOKUP(R2C5,一覧!R5C1:R2000C54,4,FALSE))" に変えるとか。
その他の回答 (1)
- papayuka
- ベストアンサー率45% (1388/3066)
別段おかしい所は無いと思いますが、、、 > 検索結果が、検索コードによって違うのです。 検索値は数値ですか? 実行後に #N/A も出ない? 一覧表のA列を全て選択して、データ-区切り位置-完了 とするとどうなる? (コピーブックでテストするか、保存しない事)
補足
一覧表が昇順になっていないからだとわかりましたが このエラーがでます。「#REF!」 '注意 Range("E24:H28").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(R2C5,一覧!R5C1:R2000C54,55,FALSE)" Selection.Value = Selection.Value この部分です。 他にもでます。 結合セルが問題? それとも、関数が実行されるセルの順序が問題なのでしょうか? また、検索結果が空白の場合、「0」が表示されるのを 無くすことはできますか?
お礼
ありがとうごさいます。 単純なミスだったんですね。 すみません。 また、ソートは関係がないと言うことで このままやってみます。 <m(__)m>