|
▼八幡 さん:
> シート1に数値データ番号(A列)、文字コード(B列)のリストあり、シート2はデータ番号だけですが、このデータ番号からB列に文字コードを転記するマクロの作成を御教授ください。
> データ数はシート1で6万件、シート2で3000件あります
シート2はデータ番号は、必ずシート1のリストにあるのでしょうか?
こんな感じでできると思います。
Option Explicit
Sub test()
Dim myDic As Object
Dim r As Range
Set myDic = CreateObject("Scripting.Dictionary")
With Sheets("Sheet1")
For Each r In .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
myDic(r.Value) = r.Offset(, 1).Value
Next
End With
With Sheets("Sheet2")
For Each r In .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
r.Offset(, 1).Value = myDic(r.Value)
Next
End With
Set myDic = Nothing
End Sub
でも、関数のVLOOKUPでもいいのでは?
シート2のB1に =VLOOKUP(A1,Sheet1!A1:B60000,2,FALSE)
で、必要なだけフィル
マクロでやるなら、
Sub test2()
With Sheets("Sheet2")
.Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Offset(, 1).Formula = "=VLOOKUP(A1,Sheet1!A1:B60000,2,FALSE)"
End With
End Sub
|
|