|
▼鼻子 さん:
自分でやるなら やっぱ 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
|
|