>商品CD、納期毎に集計を行うVBAの作成を行いました。
>それを転記先シートの該当する商品CDの納期に数量を転記したいのです。
ちょっと不明瞭ですね・・(単に集計か転記かの別が分かればよかったのですが)
再確認するのも面倒なので集計タイプにします(処理速度は多分微差でしょう)
Sub Sample()
Dim rSRC As Range
Dim vOutDate, vOutComo, vOutRslt()
Dim i As Long, k As Long
Dim dicT As Object, ky
Dim t
t = Timer '速度計測
Set dicT = CreateObject("Scripting.Dictionary")
Set rSRC = Worksheets("元シート").Range("A1").CurrentRegion
For i = 2 To rSRC.Rows.Count
If rSRC(i, 1) <> "" Then
ky = rSRC(i, 1).Value & "♪" & rSRC(i, 2).Value2
dicT(ky) = dicT(ky) + rSRC(i, 3).Value
End If
Next i
With Worksheets("転記先シート").Range("A1").CurrentRegion
vOutComo = .Columns("A").Value
vOutDate = .Rows(1).Value2
End With
ReDim vOutRslt(2 To UBound(vOutComo), 2 To UBound(vOutDate, 2))
For i = 2 To UBound(vOutComo)
If vOutComo(i, 1) <> "" Then
For k = 2 To UBound(vOutDate, 2)
ky = vOutComo(i, 1) & "♪" & vOutDate(1, k)
vOutRslt(i, k) = dicT(ky)
Next k
End If
Next i
Worksheets("転記先シート").Range("B2").Resize(UBound(vOutRslt) - 1, UBound(vOutRslt, 2) - 1) = vOutRslt
dicT.RemoveAll
Debug.Print Timer - t '経過時間打出し
End Sub