エクセル(マクロ)で累計部分を更新しながらシートを
日報作成をマクロで自動化する方法を探しています。
とりあえずできたのは、
1:「1日」シートを作り、セルA1には日付「2015年9月1日」を入力。
2:「1日」シートをコピーして「2日」シートを作成し、セルA1の日付を「2015年9月2日」に変更。
3:2の作業を「31日」シートまで繰り返す。
というところまでです。
(1つのワークブックに、「1日」~「31日」までのシートがある状態です。)
これに加えて、たとえば、セルB1に当日売上を入力すると、
セルB2に月累計が出るようにしたいのです。
試してみたのは、「1日」シートのセルB2に「=B1」と入力し、
「2日」~「31日」シートのB2に
=INDIRECT(TEXT(A1-1,"1日")&"!B2")+B1
と入力してみましたが、これだと月累計ではなく「1日」シートのみとの合計になってしまい、
「3日」~「31日」シートでは、数式内のシート名"1日"の部分を
手動で更新していかなければなりません。
数式内のシート名を翌日の日付に変更しながらシートをコピーする方法はありますか?
または、
B2=前日シートのB2+当日シートのB1
となる数式は無いでしょうか??
ちなみに今マクロで使っているのは下記のコードです。
———————————
Sub 日報作成()
Dim firstDay As Date
firstDay = InputBox("日報", "最初の日付を指定", Date) '最初のシートの日付を指定
Worksheets("1日").Range("A1") = firstDay
Dim i As Integer
For i = 1 To 30
Worksheets("1日").Copy after:=Worksheets(Worksheets.Count) '1日のコピーを末尾に作る
Worksheets(Worksheets.Count).Name = i + 1 & "日" 'コピーしたシートの名前を変える
Range("A1").Value = DateAdd("d", i, firstDay) '日付を一日ずつ足していく
Next i
End Sub
―――――――――――
似たようなデータを毎月大量に作るので、どうにか効率化できたらと思っています。
ちなみに、わたしはプログラミングCを少しかじったことがありますが、
マクロを使うのは初で、上記もネットで見つけたコードを少しいじった程度です、、
詳しい方がいらしたら教えてください。
よろしくお願いいたします。