初めまして。
EXCEL2007で、VBAからFORMULA式を使って別ブックを参照するVLOOKUPを埋め込もうとしています。
このとき、対象となる別ブックのシートに、検索値に合致する情報がないと、「シートの選択」ダイアログが出てしまうのですが、これを出さずに、式を生かしたまま「#N/A」扱いにする(=ワークシート上でVLOOKUPに失敗したときと同じ結果とする)方法はないでしょうか?
いろいろ試したのですが解決策が見つかりませんでした。
実装コードはつぎのような形になってます。
Sheet1.Formula = "=VLOOKUP(B2,'[Book2.xls]Sheet1!$B1:$C255,2,FALSE)"
Book2のSheet1のB1:C255に、検索キー[B2]の値があるとき、C列の値を取ろうとしています。
このとき、検索に失敗すると、コード実行中に「シートの選択」ダイアログが出てしまうので、これを回避したいのが質問の主題です。
Application.DisplayAlerts = FALSE でもダメでした。
なにか良いアイデアがありましたらご教唆願います。
No.1ベストアンサー
- 回答日時:
通常、
>対象となる別ブックのシートに、検索値に合致する情報がない
場合、#N/A が返ります。
>対象となる別ブックのシートに、検索値に合致する情報がないと、「シートの選択」ダイアログが出てしまう
...という現象は、その『別ブック』に該当シートが無い場合に発生します。
例示で言えば [Book2.xls] に Sheet1 という名前のシートが無い時。
回避するには、[Book2.xls] に Sheet1 というシートが存在する事を確認してから式を埋め込む事くらいでしょうか。
もっとも、存在するかしないか判らないシートを参照するVLOOKUP式を埋め込む事は無いように思えますから、
ハズれたアドバイスかもしれません。
余談ですが、『実装コード』と断るならば、コピーペーストして実際に動くコードを載せましょう。
そのコードでは動きません。
end-uさん
アドバイスありがとうございました。
コードはサンプルをつくってコピーペーストしたほうがよかったですね。今後注意します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- その他(Microsoft Office) エクセルについて教えてください。 2 2022/10/20 14:55
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
【ExcelVBA】全シートのセルの...
-
Excel マクロについての相談
-
Excelマクロのエラーを解決した...
-
ユーザーフォームに入力したデ...
-
実行時エラー'1004': WorkSheet...
-
excelのマクロで該当処理できな...
-
【Excel VBA】Worksheets().Act...
-
同じ作業を複数のシートに実行...
-
XL:BeforeDoubleClickが動かない
-
VBAで、シート間の転記するコー...
-
ブック名、シート名を他のモジ...
-
シートが保護されている状態で...
-
エクセルのマクロについて教え...
-
ExcelのVBAのマクロで他のシー...
-
実行時エラー1004「Select メソ...
-
VBA 最終行まで数式をコピーする
-
【ExcelVBA】動的にボタン、ボ...
-
【VBA】指定した検索条件に一致...
-
VBA 検索して一致したセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
同じ作業を複数のシートに実行...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
XL:BeforeDoubleClickが動かない
-
ExcelVBA シート名を複数セルか...
-
実行時エラー'1004': WorkSheet...
-
VBA 存在しないシートを選...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ブック名、シート名を他のモジ...
-
【Excel VBA】Worksheets().Act...
-
ExcelのVBAのマクロで他のシー...
-
エクセルのシート名変更で重複...
-
特定の文字を含むシートだけマ...
-
シートが保護されている状態で...
-
Excel マクロについての相談
-
VBA 検索して一致したセル...
おすすめ情報