[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マッチング転記』(ぽむ)
お世話様です。
シート名『倉庫』のC列に顧客名 D〜Lに商品ごとの売り上げが入っています。
シート名『SUMMARY』のB列に顧客名と『倉庫』のC列の顧客名が一致したら
『倉庫』のD〜Lのデータを『SUMMARY』のF〜Nに順に格納したいです。
ネットでみつけたコードをいじくって『倉庫』のD列のデータを
『SUMMARY』に転記することができましたが
残りのデータの転記がうまくいきません。
Dim dic As Object Dim c As Range
Set dic = CreateObject("Scripting.Dictionary")
'マッチング転記
With Sheets("倉庫")
For Each c In .Range("C1", .Range("C" & .Rows.Count).End(xlUp))
dic(c.Value) = c.Offset(, 1).Value
Next
End With
With Sheets("SUMMARY")
For Each c In .Range("B4", .Range("B" & .Rows.Count).End(xlUp))
c.Offset(, 4).Value = dic(c.Value)
Next
End With
End Sub
アドバイスをお願いします。
エクセルは2003 OSはXPです
一例
Sub Sample()
Dim dic As Object
Dim c As Range
Dim w As Variant
Application.ScreenUpdating = False
Set dic = CreateObject("Scripting.Dictionary")
With Sheets("倉庫")
For Each c In .Range("C1", .Range("C" & .Rows.Count).End(xlUp))
dic(c.Value) = WorksheetFunction.Index(c.Offset(, 1).Resize(, 9).Value, 1, 0)
Next
End With
With Sheets("SUMMARY")
For Each c In .Range("B4", .Range("B" & .Rows.Count).End(xlUp))
If dic.exists(c.Value) Then
c.Offset(, 4).Resize(, 9).Value = dic(c.Value)
Else
c.Offset(, 4).Resize(, 9).ClearContents
End If
Next
.Select
End With
Set dic = Nothing
Application.ScreenUpdating = True
MsgBox "転記完了"
End Sub
(ぶらっと)
ありがとうございます!
ばっりしです!
メッセージBOXまでつけてくださって感謝です!
助かりました!
(ぽむ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.