Sub CopyData Dim wb1 As Workbook wb2 As Workbook Dim ws1 As Worksheet ws2 As Worksheet Set wb1 = ThisWorkbook 当前工作簿 Set wb2 = WorkbooksOpenHEngineeringPT-BE-ETS-HZ_ActEIS_ReportPronovi
要根据每日更新的文件名来打开目标工作簿,可以使用文件夹和文件名的组合来构建完整的路径。以下是修改后的代码:
Sub CopyData() Dim wb1 As Workbook, wb2 As Workbook Dim ws1 As Worksheet, ws2 As Worksheet Dim filePath As String, fileName As String
Set wb1 = ThisWorkbook '当前工作簿
'构建完整的文件路径
filePath = "H:\Engineering\PT-BE-ETS-HZ_Act\EIS_Report\Pronovia\"
fileName = "Runing_Project_Status_560A_*" & Format(Date, "yyyymmdd") & ".xlsx"
'打开目标工作簿
Set wb2 = Workbooks.Open(filePath & fileName)
Set ws1 = wb1.Sheets("data") '当前工作簿的data sheet
Set ws2 = wb2.Sheets("data") '目标工作簿的data sheet
'复制数据
ws2.Range("A1").CurrentRegion.Copy
ws1.Range("A1").PasteSpecial xlPasteValues
wb2.Close False '关闭目标工作簿,不保存
End Sub
在上面的代码中,filePath 变量存储文件夹路径,fileName 变量存储文件名。通过使用 Format 函数和 Date 函数,可以将当前日期格式化为 "yyyymmdd" 的形式,并将其与文件名的其余部分进行组合。然后,使用路径和文件名打开目标工作簿。这样,每天运行宏时都会打开正确的文件
原文地址: https://www.cveoy.top/t/topic/hxLf 著作权归作者所有。请勿转载和采集!