- ベストアンサー
VBA VLOOKUP 検査値が数値だと#N/Aになってしまう
rivoisuの回答
- rivoisu
- ベストアンサー率36% (97/264)
本筋の回答は#1さんがされていますのでアドバイスというか... j = 2 Do Until j = 最終行 + 1 Cells(j, 2).Select Selection.Formula = "=Vlookup(""" & Cells(j, 1) & """,マスタ!A:B,2,false)" j = j + 1 Loop の6行は下の1行でも同じです。 Range(cells(2,2),cells(最終行+1,2))Formula="=Vlookup(""" & Cells(j, 1) & """),マスタ!A:B,2,false)" Loopしなくても一気に代入できます。(式は#1さんの回答に変えてください) ぜひお試しを
関連するQ&A
- VBA Vlookup #N/A表示させない方法
こんばんわ。 VBAでVLOOKUPを実施していますが値が見つからない場合#N/Aが表示されてしまいます。 これを表示させない良い方法ありますでしょうか? 以下のようにCells(1,i)がブランクになるまで別シート(日別商品別集計)の40列目の値を検索するロジックです。処理はうまくいっていますが値がない場合は” ”にしたいのですが”#N/A”が表示されてしまいます。 Do While Cells(1, j) <> "" ActiveCell.Value = Application.VLookup(Cells(1, j), Worksheets("日別商品別集 計").Range("A2:AN533"), 40, False) *エラーの場合 On Error GoTo ERR_1 ERR_1: ActiveCell.Value = "" j = j + 1 ActiveCell.Offset(0, 1).Select Loop どなたかご教授いただけませんでしょうか? よろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- VLOOKUP関数をVBAで書くには
EXCEL VBAの初心者です VLOOKUP関数をVBAで書きたいのですが、よくわかりません すいませんがどなたかご教授、願えないでしょうか? sheet1 sheet2 A B A B 名称 CD 名称 CD 滋賀県 25 滋賀県 25 京都府 26 大阪府 27 大阪府 27 兵庫県 28 兵庫県 28 sheet2のA列をキーにsheet1のA列と照合して sheet2のB列にsheet1で一致した行のB列をコピーする VLOOKUP関数を使うと、sheet2のB2は =IF($A2="","",VLOOKUP($A2,Sheet1!$A$2:$B$5,2,0)) としたら、25を得ることができました VBAでする場合、どのように書けばいいのでしょうか? よろしくお願いします
- ベストアンサー
- Visual Basic
- エクセルVBA VLOOKUPについて
エクセル VBA初心者です。 関数でのVLOOKUPをVBAで作りたいのですが、上手くいきません。 あらかじめ、Sheet2の1から300行までに A列 / B列 商品名 / 商品コード が入力されています。(名前の定義=商品コード) Sheet1にユーザーフォームを利用して、データを書き込んだ後、 B列に商品名が書き込まれると、 A列に商品コードが表示されるようにしたいと考えています。 A列に =IF(B2="","",VLOOKUP(B2,商品コード,2,FALSE)) と入力していたのですが、 VBAでIfを使って出来ないかと考えてみたのですが、 上手くいきませんでした。 Private Sub Worksheet_Change(ByVal Target As Range) Dim sRow As Long Dim sColumn As Long sRow = ActiveCell.Row sColumn = ActiveCell.Column If Cells(sRow, 2).Value = True Then Cells(sRow, 1).Value = WorksheetFunction.VLookup(Cells(sRow2).Value, Worksheets("Sheet2").Range("A1:B300"), 2, False) ElseIf Cells(sRow, 2).Value = " " Then Cells(sRow, 1).Value = " " End If End Sub ご教授いただけないでしょうか? エクセル2003 WindowsXP
- ベストアンサー
- オフィス系ソフト
- VLOOKUP関数と同じことをVBAでおこなうには
初めまして、当方VBAの素人です。よろしくお願いします。 同じような質問で、このようなVBAを見つけました。 Sub Macro1() For n = 2 To 5 '処理するSheet2の行数範囲 a = Sheets("Sheet2").Cells(n, 1) 'aにA列の値を代入 For m = 2 To 5 '検索するSheet1の行数範囲 If Sheets("Sheet1").Cells(m, 1) = a Then 'Sheet2のA列の値とSheet1のA列が一致した場合 v = Sheets("Sheet1").Cells(m, 2) 'vにB列の値を代入 Sheets("Sheet2").Cells(n, 2).Value = v 'Sheet2のB列に値を入力 Exit For '値が見つかったのでForを終了 End If Next Next End Sub このVBAではSheet2での検索、入力が列になるのですが、列でなく、行でできないでしょうか。できればSheet1のB列の値をSheet2の1行で検索、Sheet2の2行に入力されるだけではなく、Sheet1のC列の値をSheet3の1行で検索、Sheet3の2行に入力されるようにしたいと思います。 解る方、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのVLOOKUP関数で#N/A エラーが出ます
同じように60行ほど、コピーしたのですが、k列の2行目とl列の3行目だけが#N/Aになります。試しに、検索の型のところを1にしてみたら、他の語になります。 ちなみに、k列の2行目とl列の3行目は対応する語なのです。 いろいろと調べているのですが原因がわかりません。 これを元に多数のデータを処理したいと思っているので困っています。 1部だけを見て判断できにくいと思いますが、アップしにくいのでどうしたらよいかわかりません。 何か手がかりでも教えていただけたらと思います。よろしくお願いします。 k列 l列 =VLOOKUP(B16,$A$16:$F$20,5,0) =VLOOKUP(C16,$A$16:$F$20,6,0) =VLOOKUP(B17,$A$16:$F$20,5,0) #N/A =VLOOKUP(C17,$A$16:$F$20,6,0) =VLOOKUP(B18,$A$16:$F$20,5,0) =VLOOKUP(C18,$A$16:$F$20,6,0) #N/A =VLOOKUP(B19,$A$16:$F$20,5,0) =VLOOKUP(C19,$A$16:$F$20,6,0) =VLOOKUP(B20,$A$16:$F$20,5,0) =VLOOKUP(C20,$A$16:$F$20,6,0)
- ベストアンサー
- オフィス系ソフト
- VLOOKUP関数が#N/Aで使えません
こんにちは。 エクセルで表を作っています。 VLOOKUP関数を使いたいのですが、エラー#N/Aが出て使えません。とてもシンプルな式なのに、何がだめでできないのか全く解かりません。 式は、=VLOOKUP(C3&D3,A7:D12,4,FALSE)です。 ちなみに、=VLOOKUP(C2,B7:D12,3,FALSE)にはちゃんと反応して数値を返してくれます。違いは検索値だけなのですが、数字になっているので、文字列に指定もしました。違うセルで=C3&D3は返してくれています。 何がいけなくてできないのか、教えていただけると助かります。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VLOOKUP関数 #N/A
エクセルのVLOOKUP関数で 「10月シート」の「A会社」の一つ右の列の値を取得したいのですが 10月シートにA会社が存在しない場合は#N/Aが返ります。 数式は、=VLOOKUP(“A会社”, 10月シート!$a$1:$b$2,1,0) としています。 #N/Aにならないようにする方法を教えてください。
- ベストアンサー
- Excel(エクセル)
- エクセル2003 #N/A含む複数シート数値合計
複数のワークシートの数値の合計がうまく出ません。 A,B,C,Dという名前のシートのセルA2の数値の合計を 「集計」というシートのセルA3に出したいのですが (ちなみにA,B,C,DシートのセルA2にはvlookup関数がはいってます) 例えばシートBのセルA2の表示が#N/Aだと sum、sumif関数で合計を出そうとしても 「集計」シートのセルA3には#valueと出てしまいます。 うまく#N/Aをのぞいて数値の合計値を出す方法はありますか?
- ベストアンサー
- オフィス系ソフト
- VLOOKUPがうまく行かない
VLOOKUP関数でSheet1のA2セルに=VLOOKUP(B2,Sheet1!$A$1:$B$22,1)と入力すると、012というコードが変えてこないといけないのですが、Sheet1の1行目の最終行のデータを持ってきてしまいます。昇順に並べ替えもしているのに、何故でしょうか?
- ベストアンサー
- オフィス系ソフト
- vlookup関数で#N/Aエラーが出ます
エクセル2000を使用しています。 "Sheet5"のM列にある「商品コード」を元に別シート"商品金額マスタ"から 商品金額を"Sheet5"のO列に表示させたいのですが、#N/Aエラーが出てしまいます。 O列には以下の数式を入れています。 =IF($M2="","",VLOOKUP($M2,商品金額マスタ!$A$2:$C$5,3,FALSE)) M列の各セルをクリックするとなぜか数式が反映され、O列に正しい値(商品金額)が表示されるのですが、 これはどういったことなのでしょうか? "Sheet5"のM列は元々"Sheet5"のA列にある商品コードの左6文字をLEFT関数で選んでいます。 この6文字は頭にゼロがつく商品コード1桁から4桁のものです。 #N/Aエラーが出るのは、このゼロが原因だったりしますでしょうか? どうぞよろしくお願いします。 "商品金額マスタ" A列 B列 C列 1 商品コード 商品名 商品金額(税抜) 2 000001 Tシャツ 2,660 3 000002 パンツ 3,000 4 000003 タンクトップ 3,000 5 000004 長袖Tシャツ 3,000
- ベストアンサー
- オフィス系ソフト