|
▼ヒダリ さん:
おはようございます。
>はじめまして。
>過去ログになかったので質問させて頂きます。
>以下のようなマクロを作っているのですが、どうしてもうまくいきません。
>よい方法がありましたらご教授お願いします。
>
>シート1
> A B
>5241 125500011
>3528 135522443
>2258 125500012
> : :
>
>シート2
> A B
>4968
>2258
>6698
> :
>
>↑の2つのシートで両方のA列を比較し、シート2のA列にシート1のA列の
>コードがあれば、シート2のB列にシート1の対応するB列のコードを
>貼っていくという作業をシート2のデータがなくなるまで行いたいのです。
>同じコードはシート上のどこかのセルにあればよく(同じ行である必要はない)、
>シート2には、同じコードが複数ある場合があります。
>
>宜しくお願いします。
シート1、シート2共に1行目からデータが入っていた場合の例です。
'================================================
Sub main()
Dim vlookup_func As String
Dim rng2 As Range
With Worksheets("シート1")
vlookup_func = "vlookup(rc[-1],シート1!" & _
.Range(.Cells(1, 1), _
.Cells(.Rows.Count, 1).End(xlUp)) _
.Resize(, 2) _
.Address(, , xlR1C1) & _
",2,false)"
End With
With Worksheets("シート2")
Set rng2 = .Range(.Cells(1, 1), _
.Cells(.Rows.Count, 1) _
.End(xlUp)) _
.Offset(0, 1)
End With
With rng2
.Formula = "=if(iserror(" & _
vlookup_func & "),""""," _
& vlookup_func & ")"
.Value = .Value
End With
End Sub
シート名の最後の数字が半角か全角かわかりませんが、
ヒダリさんのシート名に合わせてください。
|
|