Excel VBA質問箱 IV

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

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


13307 / 76733 ←次へ | 前へ→

【68932】Re:最後の値段を入れるには。。。
発言  kanabun  - 11/4/28(木) 19:35 -

引用なし
パスワード
   ▼鼻子 さん:

自分でやるなら やっぱ Dictionaryでしょうが、
もし(Dictionaryのしくみが分からないとかで)
Match関数で検索するなら、こんな風でしょうか。

Sub Match_Try()
 Dim r As Range
 Dim x As Long
 With Sheet1  '検索対象範囲を変数r に セット
   Set r = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
   x = .Columns.Count
 End With
 
 Dim i As Long
 Dim m, v
 Dim c As Range
 With Sheet2
   With .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
     ReDim v(1 To .Count, 0)
     'Sheet2 A列の値が範囲rにあるか調べる
     For Each c In .Cells
       m = Application.Match(c.Value2, r, 0)
       i = i + 1
       If IsNumeric(m) Then
         'あったばあい、その行の一番右の値を配列にセット
         v(i, 0) = r(m, x).End(xlToLeft).Value
       End If
     Next
     .Offset(, 1).Value = v 'B列に 配列を貼り付ける
   End With
 End With
   
End Sub

3 hits

【68929】最後の値段を入れるには。。。 鼻子 11/4/28(木) 17:02 質問
【68930】Re:最後の値段を入れるには。。。 UO3 11/4/28(木) 17:38 回答
【68932】Re:最後の値段を入れるには。。。 kanabun 11/4/28(木) 19:35 発言

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