以下是一个使用VBA代码实现将一个Excel工作簿中的一个工作表的数据复制到另一个工作簿中的相同工作表的示例代码:

Sub CopySheetData()
    Dim sourceWorkbook As Workbook
    Dim destinationWorkbook As Workbook
    Dim sourceSheet As Worksheet
    Dim destinationSheet As Worksheet
    Dim sourceFilePath As String
    Dim destinationFilePath As String
    
    ' 设置源文件路径
    sourceFilePath = "C:\路径\源文件.xlsx"
    
    ' 设置目标文件路径
    destinationFilePath = "C:\路径\目标文件.xlsx"
    
    ' 打开源文件
    Set sourceWorkbook = Workbooks.Open(sourceFilePath)
    
    ' 打开目标文件
    Set destinationWorkbook = Workbooks.Open(destinationFilePath)
    
    ' 设置源工作表
    Set sourceSheet = sourceWorkbook.Sheets("data")
    
    ' 设置目标工作表
    Set destinationSheet = destinationWorkbook.Sheets("data")
    
    ' 复制数据
    sourceSheet.UsedRange.Copy destinationSheet.Range("A1")
    
    ' 关闭源文件,保存更改
    sourceWorkbook.Close SaveChanges:=False
    
    ' 关闭目标文件,保存更改
    destinationWorkbook.Close SaveChanges:=True
    
    ' 释放内存
    Set sourceWorkbook = Nothing
    Set destinationWorkbook = Nothing
    Set sourceSheet = Nothing
    Set destinationSheet = Nothing
    
    MsgBox "数据已成功复制。"
End Sub

在上面的示例代码中,你需要修改以下两行代码中的文件路径:

' 设置源文件路径
sourceFilePath = "C:\路径\源文件.xlsx"

' 设置目标文件路径
destinationFilePath = "C:\路径\目标文件.xlsx"

将路径修改为实际的源文件和目标文件的路径。

对于被复制的Excel文件名的后八位数字是变化的情况,你可以使用VBA中的字符串函数来处理。例如,你可以使用以下代码从文件名中提取出后八位数字:

Dim sourceFileName As String
Dim sourceFileNumber As String

' 设置源文件名
sourceFileName = "Runing_Project_Status_560A_00000000.xlsx"

' 提取后八位数字
sourceFileNumber = Right(sourceFileName, 8)

然后,你可以使用sourceFileNumber变量来构建源文件路径:

' 设置源文件路径
sourceFilePath = "C:\路径\Runing_Project_Status_560A_" & sourceFileNumber & ".xlsx"

将路径中的"C:\路径\"修改为实际的文件路径。

希望以上示例代码对你有帮助


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

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