- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2013VBAでVLOOKUP条件付き)
Excel2013VBAでVLOOKUP関数を使った商品名と商品コードの取得方法
このQ&Aのポイント
- Excel2013VBAでVLOOKUP関数を使用して、アクティブシートの表の商品名に対応した商品コードを取得する方法を教えてください。
- 条件として、テーブルシートの商品コードが空白の場合は処理を行わず、アクティブシートの商品名の下の行が空白の場合のみ処理を行います。また、連続して入力された商品名がある場合は、商品コードが存在する場合には処理を中断し、セル番地を表示します。
- 現在のコードはフリーズすることがありますが、一部動作確認ができているので、修正方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>For Each h In Range("A:A,D:D,G:G") A,D,G列の全てのセルを対象にするのは、やりすぎです。エラーの間接的な原因もここにあると想定できます。 sub macro1() dim h as range dim buf as variant on error resume next for each h in range("A:A,D:D,G:G").specialcells(xlcelltypeconstants) buf = "" buf = application.worksheetfunction.vlookup(h.value, worksheets("テーブル").range("B:C"), 2, false) if h.offset(1) = "" then h.offset(1) = buf elseif buf <> "" then h.select msgbox h.address exit sub end if next end sub
お礼
やりすぎですか。でも教えていただいたものだと問題なく動作しました。どうもありがとうございました。