簡體   English   中英

將 Excel 工作表移動到另一個具有不同工作表名稱的現有工作簿作為新工作表

[英]Move an Excel Work Sheet to Another existing workbook with different sheet name as new sheet

我正在嘗試創建一個 Vb 腳本以將 Excel 工作表作為新工作表復制/移動到另一個工作簿('X' 是源工作簿 'xsheet'(工作表名稱應該是一個參數)是我要復制到的工作表名稱另一個名為“Y”的工作簿作為名稱為“ysheet”的新工作表(工作表名稱應該是一個參數)

注意:源工作簿和目標工作簿有多個工作表。

以下代碼僅在源工作簿只有一張紙時才有效。

Set objExcel1 = CreateObject("Excel.Application")
Set objExcel = CreateObject("Excel.Application")

Set objWorkbook = objExcel1.Workbooks.Open("C:\Users\x\test.xlsx")
Set objWorkbook1 = objExcel.Workbooks.Open("C:\Users\x\test1.xlsx")
objExcel.Visible = TRUE

Set objLastSheet = objWorkbook.Worksheets(1)

Set objWorksheet = objWorkbook1.Worksheets("Sheet1")

objWorksheet.Copy, objLastSheet
Set objWorksheet = objWorkbook.Worksheets("ff")

忽略代碼中的明顯錯誤,這是一個包含一些背景信息的工作示例。

Option Explicit

Dim xl : Set xl = CreateObject("Excel.Application") 'start Excel
Dim wb1: Set wb1 = xl.Workbooks.Open("E:\Temp\Book1.xlsx") 'open source workbook
Dim wb2: Set wb2 = xl.Workbooks.Open("E:\Temp\Book2.xlsx") 'open target workbook

'Copy the worksheet in wb1 to the end of the sheets in wb2
'The Copy method expects Copy(before, after),
'and 'before' and 'after' are mutually exclusive
'so pass Null for the one you don't want 
'(it defaults to Before)

'I will admit that it isn't immediately obvious from documentation that
'you can actually copy to other workbooks
wb1.Sheets("SheetToCopy").Copy Null, wb2.Sheets(wb2.Sheets.Count)
'Rename it as you like afterwards
wb2.Save()
wb1.Close()
wb2.Close()
xl.Quit()
Set xl = Nothing
WScript.Quit 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM