[英]Copy and paste worksheet from one to another
我有2個不同的excel文件,如下所示:
這兩個文件的工作表名稱均為“報告”
我需要一個VBA腳本才能從MsAccess中執行此操作。
我需要從Report.csv復制“報表”表,並用Report.xlsm中的“報表”表替換它,然后保存xlsm文件。 另外,需要退出該應用程序。 下面的代碼可以完成工作,但不能代替“報告”表。
Private Sub CopyPaste()
Dim CopyFrom As Object
Dim CopyTo As Object ' Workbook
Dim CopyThis As Object
Dim xl As Object 'New Excel.Application
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set CopyFrom = xl.Workbooks.Open("C:\Users\me\desktop\report.csv")
Set CopyThis = CopyFrom.Sheets(1) ''Sheet number 1
Set CopyTo = xl.Workbooks.Open("C:\users\me\desktop\Report.xlsm")
CopyThis.Copy After:=CopyTo.Sheets(CopyTo.Sheets.Count)
CopyFrom.Close True
CopyTo.Save
CopyTo.Close True
xl.Quit
End Sub
干得好。 粘貼並查看:
Sub CopyPaste()
Dim CopyFrom As Object
Dim CopyTo As Object ' Workbook
Dim CopyThis As Object
Dim xl As Object 'New Excel.Application
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set CopyFrom = xl.Workbooks.Open("C:\Users\me\desktop\report.csv")
Set CopyThis = CopyFrom.Sheets(1) ''Sheet number 1
Set CopyTo = xl.Workbooks.Open("C:\users\me\desktop\Report.xlsm")
CopyThis.Copy After:=CopyTo.Sheets(CopyTo.Sheets.Count)
'Start of new code added
xl.DisplayAlerts = False
CopyTo.Sheets(1).Delete 'deletes the sheet that was initially there
xl.DisplayAlerts = True
CopyTo.Sheets(1).Name = "report" 'now the copied sheet has the index of 1
'End of new code added
CopyFrom.Close True
CopyTo.Save
CopyTo.Close True
xl.Quit
End Sub
嘗試這個 :
Private Sub CopyPaste()
Dim CopyFrom As Object
Dim CopyTo As Object ' Workbook
Dim CopyThis As Object
Dim xl As Object 'New Excel.Application
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set CopyFrom = xl.Workbooks.Open("C:\Users\me\desktop\report.csv")
Set CopyThis = CopyFrom.Sheets("Report") ''Sheet number is ok if it never move, name may be safer
Set CopyTo = xl.Workbooks.Open("C:\users\me\desktop\Report.xlsm")
xl.Application.DisplayAlerts = False
CopyTo.sheets("Report").Delete
xl.Application.DisplayAlerts = True
CopyThis.Copy After:=CopyTo.Sheets(CopyTo.Sheets.Count)
CopyFrom.Close True
CopyTo.Save
CopyTo.Close True
xl.Quit
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.