2017-06-21 54 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

相关问题