2017-06-21 60 views
1

我有一個單元格D5通過公式[January.Book1.xlsx] Sheet1!$ D $ 5鏈接到另一個工作簿。每個月更改名稱的工作簿的單元格引用

問題是,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」的書的鏈接。

然後使用一個採取1月文件並將其保存爲名爲「CurrentMonth.xlsx」的文件的過程。這可以通過Powershell來實現。

下個月,您將獲取2月文件,創建副本並覆蓋/重命名爲「CurrentMonth.xlsx」。

像這樣的東西可以安排與Powershell或與VBA。

這裏的基本想法是,您不要更改查找文件的名稱,因此您不必更改Excel工作簿中的公式。而是在操作系統層使用工具,以確保Excel公式指向的文件始終被調用爲相同的,並用您的日程安排中的當前數據替換。

+0

感謝您tevlyn :) – OlaOkland

相關問題