怎么运用VBA代码实现excel的一个sheet的数据是复制另一张excel的sheet的数据两个sheet的名字都是data能否举例展示完整代码?且被复制的excel表的名称前半段是固定的但后八位是变化的那怎么设置被复制excel的路径比如被复制的excel名称为Runing_Project_Status_560A_20230628
以下是运用VBA代码实现excel的一个sheet的数据是复制另一张excel的sheet的数据的完整代码:
Sub CopyData() Dim sourceWorkbook As Workbook Dim targetWorkbook As Workbook Dim sourceSheet As Worksheet Dim targetSheet As Worksheet Dim sourceFilePath As String Dim targetFilePath As String
'设置被复制excel的路径
sourceFilePath = "C:\Users\UserName\Documents\Runing_Project_Status_560A_20230628.xlsx"
'打开被复制excel
Set sourceWorkbook = Workbooks.Open(sourceFilePath)
'找到被复制excel中名字为"data"的sheet
Set sourceSheet = sourceWorkbook.Sheets("data")
'找到当前活动的excel中名字为"data"的sheet
Set targetSheet = ThisWorkbook.Sheets("data")
'复制数据
sourceSheet.UsedRange.Copy
targetSheet.Range("A1").PasteSpecial xlPasteValues
'关闭被复制excel
sourceWorkbook.Close False
End Sub
在上面的代码中,我们首先通过设置sourceFilePath变量来指定被复制的excel的路径。然后,我们使用Workbooks.Open方法打开了被复制的excel,并使用Sheets方法找到了其中名字为"data"的sheet。接着,我们在当前活动的excel中使用Sheets方法找到了名字为"data"的sheet。最后,我们使用复制和粘贴方法复制了数据,并使用Workbooks.Close方法关闭了被复制的excel。
如果被复制excel的名称前半段是固定的,但后八位是变化的,可以在代码中使用字符串拼接的方式来设置被复制excel的路径。例如,如果被复制的excel名称为"Runing_Project_Status_560A_20230628",可以使用以下代码:
sourceFilePath = "C:\Users\UserName\Documents\Runing_Project_Status_560A_" & "20230628" & ".xlsx"
在上面的代码中,我们使用字符串拼接的方式将被复制excel的路径设置为"C:\Users\UserName\Documents\Runing_Project_Status_560A_20230628.xlsx"
原文地址: https://www.cveoy.top/t/topic/hxJr 著作权归作者所有。请勿转载和采集!