我正在使用以下 VBA 代码从已关闭的 Excel 工作表中复制数据。工作表的名称根据日期而变化。因此,我从 Excel 单元格中分配路径和文件名B1
。现在我只能停留在一个地方。我想分配另一个单元格中给出的工作表名称B2
。
Sub GetDataClosedBook()
Dim scr As Workbook
Dim FromPath1 As String
'location of the file and data to copy'
Application.ScreenUpdating = False
FromPath1 = Sheets("Status").Range("B1")
Set scr = Workbooks.Open(FromPath1)
ThisWorkbook.Activate
Worksheets("Today_BC").Range("B1:P40000").Formula = scr.Worksheets("12SEP2018").Range("A1:O40000").Formula
Workbooks(2).Close
Application.ScreenUpdating = True
ActiveWorkbook.Save
End Sub
现在("12Sep2018")
一直在变化,我现在正在手动操作,但我想从工作表中的单元格分配。我该怎么做?
答案1
我想分配另一个单元格 B2 中给出的工作表名称
如果是这样,您必须将工作表名称的字符串文字替换"12SEP2018"
为存储所需工作表名称的单元格的值。即
Worksheets("Today_BC").Range("B1:P40000").Formula = _
scr.Worksheets("12SEP2018").Range("A1:O40000").Formula
必须替换为
Worksheets("Today_BC").Range("B1:P40000").Formula = _
scr.Worksheets(Sheets("Status").Range("B2").Value).Range("A1:O40000").Formula
或者将目标工作表名称存储在变量中:
StoreTo = Sheets("Status").Range("B2").Value
Worksheets("Today_BC").Range("B1:P40000").Formula = _
scr.Worksheets(StoreTo).Range("A1:O40000").Formula