2017-06-21 5 views
1

[1月.Book1.xlsx] Sheet1!$ D $ 5という式を持つ別のブックにリンクされているセルD5があります。毎月名前が変更されるブックのセル参照

問題は、January.Book1.xlsxがFebruary.Book1.xlsxと呼ばれ、次の月に更新された番号が付いていることです。しかし、そのフォルダと構造は同じです。

Sheet1にこのセル参照を自動的に作成する簡単な方法はありますか?最新のブックと時間の経過とともに各月の更新について$ D $ 5?

答えて

1

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 
+0

teylynの答えは、より堅牢で推奨ソリューションですが、それはありますこの方法でも技術的に実行可能です。 – Vegard

2

これは、Excel式よりもデータアーキテクチャの問題です。

"CurrentMonth.xlsx"という本へのリンクを作成します。

次に、Januaryファイルを取得し、 "CurrentMonth.xlsx"という名前のファイルとして保存するプロシージャを使用します。これはPowershellで実現できます。

次の月に2月のファイルが作成され、コピーが作成され、 "CurrentMonth.xlsx"に上書き/名前変更されます。

このようなものはPowershellまたはVBAで手配できます。

ここでの基本的な考え方は、ルックアップファイルの名前を変更しないため、Excelワークブックの式を変更する必要がないということです。むしろ、Excelの式が指し示すファイルが常に同じ名前で、スケジュール上の現在のデータに置き換えられることを保証するオペレーティングシステムレイヤーのツールを使用します。

+0

は、応答tevlynいただきありがとうございます:) – OlaOkland

関連する問題