Excel VBA質問箱 IV

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

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


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

【60305】VBAのVLOOKUPについて 初心者 09/2/9(月) 11:34 質問[未読]
【60312】Re:VBAのVLOOKUPについて ゆみこん 09/2/9(月) 14:21 発言[未読]
【60337】Re:VBAのVLOOKUPについて 横入り 09/2/10(火) 20:39 発言[未読]

【60305】VBAのVLOOKUPについて
質問  初心者  - 09/2/9(月) 11:34 -

引用なし
パスワード
   まだ勉強が足りずご教授いただきたく思います。

現在、

sheet1       sheet2        結果
 A     B      A     B      sheet1に
052    49.0    052   50.0     A    B   C
054    6.0    054   7.5     052   49.0 50.0  
064    2.5    078   3.0     054   6.0  7.5
079    2.5    079   4.0     064   2.5  
148    3.0    147   5.0     079   2.5  4.0
131    3.5    148   2.0     148   3.0  2.0
          130   3.0     131   3.5  

A列の数字を検索キーにして
sheet1のC列にsheet2のB列の数字を表示させたいのですが、

Sub hyouji

Dim myR
Dim j As Integer
Dim longend As Long
  
  longend = Application.ActiveWorkbook.Worksheets("sheet1").Range("D2").End(xlEnd).Row
  
  For j = 2 To longend
  
   With Worksheets("sheet1")
    myR = Application.WorksheetFunction.VLookup(.Cells(j, 1), Worksheets("sheet2").Range("A:B"), 2, False)
    
    .Cells(j, 3).Value = myR
   End With

  Next

End Sub

・・・ネットで探して引用したものなのですが、
以上の方法だと1つ目の「052」の結果しか引っ張ってくれません。

sheet1のA列に表示されている数字分のみをsheet2から引っ張りたい
のですが、変数の設定の仕方が分かりません。

説明不足で申し訳ありませんが、ご教授お願いします。

【60312】Re:VBAのVLOOKUPについて
発言  ゆみこん  - 09/2/9(月) 14:21 -

引用なし
パスワード
   ▼初心者 さん:
>まだ勉強が足りずご教授いただきたく思います。

>  longend = Application.ActiveWorkbook.Worksheets("sheet1").Range("D2").End(xlEnd).Row

シート1のD列に値がありますか?
Range("D2") <−D列ですよね。
Range("A2") <−A列でいいのではと思いますが。。。

【60337】Re:VBAのVLOOKUPについて
発言  横入り  - 09/2/10(火) 20:39 -

引用なし
パスワード
   それもあるけど、
Range("D2").End(xlEnd).Row
xlEndというのは想定外ですよ。

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