
いつもお世話になっています。
VBAで現場検索登録シートと言うところに
一覧シートからVlookupを使って
表示させようと思い作りました。
エラーも何もでません。
ただ、表示されるものがちゃんと検索されるものと
まったくされないものがあります。
Vlookupはマクロの記録から作ったものです。
原因がわかりません。
よろしくお願い致します。
'検索ボタン
Private Sub CommandButton6_Click()
'送り方
Range("C4:D4").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R2C5,一覧!R5C1:R2000C54,22,FALSE)"
Selection.Value = Selection.Value
'封筒
Range("C5:D5").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R2C5,一覧!R5C1:R2000C54,23,FALSE)"
Selection.Value = Selection.Value
'得意先名ふりがな
Range("C6:F6").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R2C5,一覧!R5C1:R2000C54,6,FALSE)"
Selection.Value = Selection.Value
'得意先名
Range("C7:F8").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R2C5,一覧!R5C1:R2000C54,4,FALSE)"
Selection.Value = Selection.Value
'現場名ふりがな
Range("C9:H11").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R2C5,一覧!R5C1:R2000C54,9,FALSE)"
Selection.Value = Selection.Value
'現場名
Range("C10:H11").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R2C5,一覧!R5C1:R2000C54,7,FALSE)"
Selection.Value = Selection.Value
End Sub
エラーも何もなく、ちゃんと動くことは動きます。
検索結果が、検索コードによって違うのです。
よろしくお願い致します
No.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))"
に変えるとか。
ありがとうごさいます。
単純なミスだったんですね。
すみません。
また、ソートは関係がないと言うことで
このままやってみます。
<m(__)m>
No.1
- 回答日時:
別段おかしい所は無いと思いますが、、、
> 検索結果が、検索コードによって違うのです。
検索値は数値ですか?
実行後に #N/A も出ない?
一覧表のA列を全て選択して、データ-区切り位置-完了
とするとどうなる?
(コピーブックでテストするか、保存しない事)
この回答への補足
一覧表が昇順になっていないからだとわかりましたが
このエラーがでます。「#REF!」
'注意
Range("E24:H28").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R2C5,一覧!R5C1:R2000C54,55,FALSE)"
Selection.Value = Selection.Value
この部分です。
他にもでます。
結合セルが問題?
それとも、関数が実行されるセルの順序が問題なのでしょうか?
また、検索結果が空白の場合、「0」が表示されるのを
無くすことはできますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
文字列内で括弧を使うには
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
レコード登録時に「演算子があ...
-
ACCESS DAO で不要なテーブルの...
-
IMEの単語登録について
-
フランスの生年月日(jj/mm/aaaa)
-
【VBA】ワークブックを開く時に...
-
【Access】Excelインポート時に...
-
VBScriptのCreateFolderについて
-
インポート時のエラー「データ...
-
error C2664: 'LPCTSTR' に変換...
-
エクセルVBAで#N/Aのようなエ...
-
実行時エラー'-2147467259(8000...
-
ACCESSで値を代入できないとは?
-
VBA データ(特定値)のある最...
-
Filter関数を用いた結果、何も...
-
ASP.NETのサーバー移行に伴うエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
String""から型'Double'への変...
-
【Access】Excelインポート時に...
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
ACCESSで値を代入できないとは?
-
VBA エクセル で FIND でのエラ...
-
Filter関数を用いた結果、何も...
-
レコード登録時に「演算子があ...
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
【VBAエラー】Nextに対するFor...
-
実行時エラー 438 の解決策をお...
-
「実行時エラー '3167' レコー...
おすすめ情報