|
こんにちわ。またお知恵を拝借いたしたく、投稿いたしました。
また集計表を作っているのですが、各月の明細が完成した後、年間集計表に値を写そうとしています。品目が必ずしも毎回同じではないので、明細と年間集計表の品目を比較して、年間集計表にないものがあれば足していくようにしたいと思っています。
どちらのシートも品目はA列で、明細のE列を年間集計表の各月欄(B〜M列)に、H列の値を年間集計表のN列に累計として足していきたいと思っています。
取りあえず、こんなコードを書いてみました。
x = Month(DateAdd("m", -1, Now))
If x = 4 Then
Sheets(Monthname(x)).Range("A4:A42").Copy (Sheets("年間").Range("A2:A40"))
Sheets(Monthname(x)).Range("E4:E42").Copy (Sheets("年間").Range("B2:B40"))
Else
For i = 0 To 38
Set B = Sheets("年間").Range("A2:A40").Find("")
Set r1 = Sheets.Monthname(x).Columns("A").ColumnDifferences(Sheets("年間").Cells(2 + i, 1))
r1.Select
r1.Copy (B)
Next i
Sheets("年間").Range("A2:O46").Sort key1:=Sheets("年間").Range("A2:A46"), order1:=xlAscending
j = IIf(x >= 4, x - 2, x + 10)
For i = 0 To 45
Sheets("年間").Cells(2 + i, j) = Application.WorksheetFunction.VLookup(Sheets("年間").Cells(2 + i, 1), Sheets(Monthname(x)).Range("A4:I42"), 5, False)
Sheets("年間").Cells(2 + i, 17) = Application.WorksheetFunction.VLookup(Sheets("年間").Cells(2 + i, 1),Sheets(Montname(x).Range("A4:I42"), 8, False)
Sheets("年間").Cells(2 + i, 14) = Sheets("年間").Cells(2 + i, 14).Value + Sheets("年間").Cells(2 + i, 17).Value
Next i
Sheets("年間").Range("Q2:Q45").ClearContents
End If
一応、年間集計表にない品目は追加されて出てきましたが、元々ある品目についてもダブって出てきてしまいます。どうしたら集計票にない品目だけが追加されるのでしょうか。
ぜひ、ご教授ください。よろしくお願いいたします。
|
|