首页 > 解决方案 > 将值从一个工作簿复制到新创建的工作簿

问题描述

有人可以在下面查看我的代码并告诉我缺少什么吗?我认为这会起作用,但一直在复制功能上中断。非常感谢帮助。

代码复制一个 excel 工作簿模板并在新目录中重命名它。然后需要将当前工作簿中的数据粘贴到新工作簿中。从此工作簿表“站点页面”复制,并粘贴到 NewFileName 表“摘要”中。

Public NewIntegration As String
    
Sub Copy_One_File()
    
'Variables
Dim TemplateWorkbook As String
Dim NewWorkbook As String
Dim GivenLocation As String
Dim OldFileName As String
Dim NewFileName As String

'Define Strings
TemplateWorkbook = "\\r.sharepoint.com@SSL\DavWWWRoot\teams\NOE-RadioEng\Radio\New Build\_2019 NSB Tracker\Integration Reports\Template\TEMPLATE.xlsx"
NewWorkbook = "\\r.sharepoint.com@SSL\DavWWWRoot\teams\NOE-RadioEng\Radio\New Build\_2019 NSB Tracker\Integration Reports\TEMPLATENew.xlsx"
GivenLocation = "\\r.sharepoint.com@SSL\DavWWWRoot\teams\NOE-RadioEng\Radio\New Build\_2019 NSB Tracker\Integration Reports\"
ReportCreator = "\\r.sharepoint.com@SSL\DavWWWRoot\teams\NOE-RadioEng\Radio\New Build\_2019 NSB Tracker\Site_Integration_Report_Creator.xlsm"
OldFileName = "TEMPLATENew.xlsx"
NewFileName = Range("D9").Text 'grab new file name report creator
NewIntegration = GivenLocation & NewFileName 'New location and file name

'Functions
FileCopy TemplateWorkbook, NewWorkbook 'copy file to new location
Name GivenLocation & OldFileName As GivenLocation & NewFileName 'Rename based on H2 cell name

'MsgBox NewIntegration
'Workbooks.Open (NewIntegration)
'MsgBox NewIntegration
'Workbook.Close (NewIntegration)
'MsgBox Worksheets("Summary").Range("A1")

'copy values to new sheet
Worksheets("Site Page").Range("J2").Copy_ Workbooks(NewIntegration).Worksheets("Summary").Range("G1")
End Sub

标签: excelvba

解决方案


你可以尝试这样的事情:

Dim wbNew As Workbook
'...
'...

Set wbNew = Workbooks.Open(NewIntegration, ReadOnly:=False)
'what is the source of the copy operation???
Worksheets("Site Page").Range("J2").Copy wbNew.Worksheets("Summary").Range("G1")
wbNew.Close True 'save and close

推荐阅读