这段VBA代码的问题在于文件路径和文件名的拼接方式不正确。在路径和文件名的拼接时,应使用路径分隔符来连接路径和文件名。另外,还可以添加错误处理来处理文件找不到的情况。

以下是修改后的代码:

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"

'搜索目标文件
On Error Resume Next
Set wb2 = Workbooks.Open(Dir(filePath & fileName))
On Error GoTo 0

If wb2 Is Nothing Then
    MsgBox "找不到目标文件"
    Exit Sub
End If

Set ws1 = wb1.Sheets("data") '当前工作簿的data sheet
Set ws2 = wb2.Sheets("data") '目标工作簿的data sheet

'复制数据
ws2.Range("A1").UsedRange.Copy
ws1.Range("A1").PasteSpecial xlPasteValues

wb2.Close False '关闭目标工作簿,不保存

MsgBox "data sheet已更新"

End Su

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 当前工作簿 构建完整的文件路径 filePa

原文地址: https://www.cveoy.top/t/topic/hyh3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录