かなりシンプルな Excel スプレッドシート (ワークブック) を作成する必要があります。各月ごとに 1 つずつ、合計 12 個のシート (タブ) が必要です。
各シートは、前のシートのセルを参照します。たとえば、「5 月」シートは「4 月」シートからデータを引き出し、「6 月」シートは「5 月」シートからデータを引き出します。
たとえば、最初のシート「4月」と 2 番目のシート「5月」を作成したとします。「5月」をコピーして「6月」に名前を変更しても、すべての数式は「5月」シートと同様に「4月」を参照します。代わりに自動的に「5月」を参照するようにしたいと思います。
どうすればこれが可能になるのでしょうか?
答え1
次のマクロを作成します。
Function SHEET_OFFSET(Offset, Ref)
' Returns cell contents at Ref, in sheet Offset
Application.Volatile
With Application.Caller.Parent
SHEET_OFFSET = .Parent.Sheets(.Index + Offset) _
.Range(Ref.Address).Value
End With
End Function
次に、5月のシートからセルにアクセスしたい場合はApril!Q42
、次の数式を使用します。
SHEET_OFFSET(-1, Q42)
最初の引数は現在のシートを基準としたシート番号で、2 番目の引数はセル参照です。この数式を 6 月のシートにコピーすると、自動的に 5 月のシートが参照されます。
出典: これは私が見つけたものですスプレッドシートページ。