|
▼UO3 さん:
下記サンプル22をようやく見つけました。
色々チェックしていたら、解らなくなって来ました。
下記サンプル22は同じシート内のE列(名前)L列(金額)N列(全員の名前)
O列(同じ名前の合計金額)で(小計機能を使わずに)1件1件のデータの集まり
を処理されるコードでしょうか?コードをラーンしましたらL列の金額合計と
O列の同じ名前の合計金額の総計と合いません、O列の総計がL列の合計に比べて
かなり少ないのです。
Sub Sample22()
'Dictionary処理案。
Dim c As Range
Dim newV As Variant
Dim i As Long
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
With Sheets("集計")
'bシートの名前と金額をDictionaryに格納(2行目以降)
For Each c In .Range("E2", .Range("E" & .Rows.Count).End(xlUp))
dic(c.Value) = c.EntireRow.Range("L1").Value
Next
'bシートの N列、O列の内容(2行目以降)を配列に格納
newV = .Range("N2", .Range("N" & .Rows.Count).End(xlUp)).Resize(, 2).Value
For i = 1 To UBound(newV, 1)
If dic.exists(newV(i, 1)) Then newV(i, 2) = dic(newV(i, 1))
Next
.Range("N2").Resize(UBound(newV, 1), UBound(newV, 2)).Value = newV
.Select
End With
End Sub
改めてのお願いですが、aシートをシート名:"集計"にします bシートを
シート名:"一致"にします。シート名:"集計"には,選ばれたデータが何行にも
亘ってあります。(小計機能は使いません)
シート名:"一致"にはN列に全員の名前があり、O列にはシート名:"集計"
と同じ名前の金額(同じ名前であれば合計します)が入ります。
シート名:"集計"のE列(名前)とシート名:"一致"のN列(名前)が合致した
ところで、シート名:"一致"のN列の右(O列)にE列の同じ名前のたした金額
が表示されます様にお願いします。
|
|