将 Excel 工作 Sheet 移动到另一个具有不同 sheet 名称的现有工作簿作为新 sheet
Move an Excel Work Sheet to Another existing workbook with different sheet name as new sheet
我正在尝试创建一个 Vb 脚本来 Copy/Move 一个 Excel 工作 sheet 到另一个新工作簿 sheet ('X' 是源工作簿 'xsheet' (sheet 名称应该是一个参数)是 sheet 我想复制到另一个名为 'Y' 的工作簿的名称 As new sheet with name 'ysheet'(sheetname 应该是一个参数)
注意:源工作簿和目标工作簿有多个 sheet。
仅当源工作簿只有一个 sheet.
时,以下代码才有效
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
我正在尝试创建一个 Vb 脚本来 Copy/Move 一个 Excel 工作 sheet 到另一个新工作簿 sheet ('X' 是源工作簿 'xsheet' (sheet 名称应该是一个参数)是 sheet 我想复制到另一个名为 'Y' 的工作簿的名称 As new sheet with name 'ysheet'(sheetname 应该是一个参数)
注意:源工作簿和目标工作簿有多个 sheet。
仅当源工作簿只有一个 sheet.
时,以下代码才有效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