簡體   English   中英

使用Word VBA創建Excel工作表的副本

[英]Create Copy Of Excel Worksheet using Word VBA

對於一個已經打開的工作簿,我想創建一個工作表(“模板”)的副本,並使用數組中的值重新命名它。 當我調試代碼時,在執行該行時就創建了副本,但仍然出現錯誤424:object required。

我已經嘗試過On Error Resume Next,但是由於我已經在子菜單中使用On Error GoTo,因此無法讀取。

Dim oXL As Excel.Application 'Requires loading "Microsoft Excel 16.0 Object Library" from Tools -> References
Dim oWB As Excel.Workbook

Set oXL = New Excel.Application
Set oWB = oXL.Workbooks.Open(FileName:=WorkbookToWorkOn) 'Opens Excel
oXL.Visible = True 'Shows Excel window while running code. Set to false after finished editing.

Dim ws As Worksheet
For i = LBound(seller_names) To UBound(seller_names)
    'On Error Resume Next 'Doesn't work
    Set ws = oXL.ActiveWorkbook.Sheets("Template").Copy(After:= _
             oXL.ActiveWorkbook.Sheets(oXL.ActiveWorkbook.Sheets.Count))
    ws.name = seller_names(i)
Next i

Sheets.Copy不會返回對已復制圖紙的引用,因此您需要先復制該圖紙,然后再獲取對其的引用:

With oXL.ActiveWorkbook
    .Sheets("Template").Copy After:= .Sheets(.Sheets.Count)
    Set ws = .Sheets(.Sheets.Count)) '<< get the copy
    ws.name = seller_names(i)
End With

On Error Resume Next ,除非您在VBA選項中啟用了“打破所有錯誤”,否則On Error Resume Next應該始終可以工作-但並非總是一個好的解決方案。

暫無
暫無

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

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