[1月.Book1.xlsx] Sheet1!$ D $ 5という式を持つ別のブックにリンクされているセルD5があります。毎月名前が変更されるブックのセル参照
問題は、January.Book1.xlsxがFebruary.Book1.xlsxと呼ばれ、次の月に更新された番号が付いていることです。しかし、そのフォルダと構造は同じです。
Sheet1にこのセル参照を自動的に作成する簡単な方法はありますか?最新のブックと時間の経過とともに各月の更新について$ D $ 5?
[1月.Book1.xlsx] Sheet1!$ D $ 5という式を持つ別のブックにリンクされているセルD5があります。毎月名前が変更されるブックのセル参照
問題は、January.Book1.xlsxがFebruary.Book1.xlsxと呼ばれ、次の月に更新された番号が付いていることです。しかし、そのフォルダと構造は同じです。
Sheet1にこのセル参照を自動的に作成する簡単な方法はありますか?最新のブックと時間の経過とともに各月の更新について$ D $ 5?
ThisWorkbook
モジュールで置き、このコードをマクロでブックを保存は(.xlsm
)有効:
Private Sub Workbook_Open()
' Change the worksheet to whichever one you need
Worksheets(1).Range("D5").Formula = "='[" & WorksheetFunction.Proper(MonthName(Month(Now()))) & ".Book1.xlsx]Sheet1'!$D$5"
End Sub
これは、Excel式よりもデータアーキテクチャの問題です。
"CurrentMonth.xlsx"という本へのリンクを作成します。
次に、Januaryファイルを取得し、 "CurrentMonth.xlsx"という名前のファイルとして保存するプロシージャを使用します。これはPowershellで実現できます。
次の月に2月のファイルが作成され、コピーが作成され、 "CurrentMonth.xlsx"に上書き/名前変更されます。
このようなものはPowershellまたはVBAで手配できます。
ここでの基本的な考え方は、ルックアップファイルの名前を変更しないため、Excelワークブックの式を変更する必要がないということです。むしろ、Excelの式が指し示すファイルが常に同じ名前で、スケジュール上の現在のデータに置き換えられることを保証するオペレーティングシステムレイヤーのツールを使用します。
は、応答tevlynいただきありがとうございます:) – OlaOkland
teylynの答えは、より堅牢で推奨ソリューションですが、それはありますこの方法でも技術的に実行可能です。 – Vegard