请参阅动态工作簿

时间:2018-11-23 17:16:39

标签: excel vba

每天我打开文件名称为今天的文件以获取数据。

我将数据放入文件名中带有今天日期的另一个工作簿中。

我已经到了可以让Excel根据当前日期打开第一个文件的地步,但是由于文件名每天都在变化,因此我无法在两个工作簿之间进行切换。

在其中一本工作簿中,我知道了今天的文件名,例如Reporting Status_23-Nov-2018,我写的公式明天将更新为Reporting Status_24-Nov-2018。我试图将变量定义为具有报表名称的单元格值,以便可以说VariableName.activate。对于第二个工作簿,我将做同样的事情。

我有以下代码:

Dim BLREOD as workbook
Dim Midday as workbook
. 
. 
. 
BLREOD = activeworkbook.sheets("sheet name").range("X4").Value
Midday = activeworkbook.sheets("sheet name").range("X7").Value

X4X7的位置为今天的文件名。

这不起作用,而且在将工作簿变量声明为单元格值然后激活该变量的工作簿时,我找不到任何东西。

1 个答案:

答案 0 :(得分:0)

您可以直接使用Workbooks.Open打开每个工作簿,并使用2个引用与它们进行交互:

Sub OpenWorkbooks()
    Dim BLREOD As Workbook
    Dim Midday As Workbook

    Dim shParams As Worksheet
    Set shParams = ActiveWorkbook.Sheets("sheet name")

    Dim todayBLREODWBName As String, todayMiddayWBName As String
    todayBLREODWBName = shParams.Range("X4").Value
    todayMiddayWBName = shParams.Range("X7").Value

    Set BLREOD = Workbooks.Open(todayBLREODWBName)
    Set Midday = Workbooks.Open(todayMiddayWBName)

    Midday.Worksheets("Data").Range("A1").Value = BLREOD.Worksheets("Data").Range("A1").Value
End Sub