Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5500 / 13646 ツリー ←次へ | 前へ→

【50461】VLOOKUPでエラーがでる。 のんこ 07/7/26(木) 13:42 質問[未読]
【50462】Re:VLOOKUPでエラーがでる。 Jaka 07/7/26(木) 13:56 発言[未読]
【50464】Re:VLOOKUPでエラーがでる。 Jaka 07/7/26(木) 14:21 発言[未読]
【50463】Re:VLOOKUPでエラーがでる。 Ned 07/7/26(木) 13:59 発言[未読]

【50461】VLOOKUPでエラーがでる。
質問  のんこ  - 07/7/26(木) 13:42 -

引用なし
パスワード
   はじめまして。

Sheet1の表にSheet2の値を持ってきたいのです。

Sheet1
A  B  C  D  E  F  G
        犬  5  
       猫  3

Sheet2
A  B  C  D  E  F  G
  5010    5    犬
  P012    3    猫

と入っています。

Sheet1のD列「犬」「猫」というセルを見て、
Sheet2のB列「5010」「P012」という番号を
Sheet1のF列に反映させたいのですが。

−−−
Private Sub コマンド_Click()
 Call hoge1
 Call hoge2
End Sub

Private Sub hoge1()
Range("F9").Value = Application.WorksheetFunction. _
  VLookup(Range("D9"), Worksheets("Sheet2").Range("B:F"), 5, False)



End Sub
−−−
と続けて行きたいのですが、
上記の式では反映されなかったです。
何か違いますでしょうか?

【50462】Re:VLOOKUPでエラーがでる。
発言  Jaka  - 07/7/26(木) 13:56 -

引用なし
パスワード
    >Range("F9").Value = Application.WorksheetFunction. _
>  VLookup(Range("D9"), Worksheets("Sheet2").Range("B:F"), 5, False)
       ↓
Application.VLookup(Range("D9"), Worksheets("Sheet2").Range("B:F"), 5, False)

・WorksheetFunctionをつけると、エラー値を返さないから実行エラーになります。
 On Error で、エラートラップしても良いけど....。



【50463】Re:VLOOKUPでエラーがでる。
発言  Ned  - 07/7/26(木) 13:59 -

引用なし
パスワード
   ▼のんこ さん:
こんにちは。
VLOOKUP関数のヘルプを確認してみましょう。
『VLOOKUP(検索値, 範囲, 列番号, 検索の型)
検索値  範囲 の左端の列で検索する値を指定します。検索値 には、値、セル参照、または文字列を指定します』
=VLOOKUP(D9,Sheet2!B:F,5,0)
これはD9を検索値として、左端のB列で検索します。

F列からB列の値をひっぱりたい時は、Sheet2の最左列に検査値用の作業列を追加するか、
=INDEX(Sheet2!B:B,MATCH(D9,Sheet2!F:F,0))
などとします。

【50464】Re:VLOOKUPでエラーがでる。
発言  Jaka  - 07/7/26(木) 14:21 -

引用なし
パスワード
   >上記の式では反映されなかったです。
いつもの実行エラーのことだと思って、関数の中までよく見ませんでした。
すみません。
ですが、上で書いたとおりに直した方が良いと思います。

5500 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free