每天我打开文件名称为今天的文件以获取数据。
我将数据放入文件名中带有今天日期的另一个工作簿中。
我已经到了可以让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
X4
和X7
的位置为今天的文件名。
这不起作用,而且在将工作簿变量声明为单元格值然后激活该变量的工作簿时,我找不到任何东西。
答案 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