|
▼VBA初心者 さん:
トピの目的が、ループ処理の構文を身につけたい、勉強したいということなのか
このテーマを、自分でもわかる方法で実行したいのか、それがわかりませんが
後者で。
1.A列を D列にコピペ
2.D列を選択して データタブ 重複の削除 アップされた例なら D1:D6 に縮まります。
3.E1:E6を選択し =SUMIF(A:A,D1,B:B) これをタイプして Alt/Enter。
4.D:E列を選択して Ctrl/c 。そのまま 形式を指定して【値】貼り付け。
5.そのまま Ctrl/x。
6.A1を選択して Ctrl/v。
この操作をマクロ記録し、それを(かなり)お化粧直ししたのが以下のコードです。
Sub Sample()
Columns("A").Copy Range("D1")
Columns("D").RemoveDuplicates Columns:=1, Header:=xlNo
With Range("D1", Range("D" & Rows.Count).End(xlUp))
.Offset(, 1).Formula = "=SUMIF(A:A,D1,B:B)"
.Offset(, 1).Value = .Offset(, 1).Value
End With
Columns("D:E").Cut Range("A1")
End Sub
|
|