簡體   English   中英

將工作表從一個工作簿復制到另一個工作簿時出錯

[英]Error in Copying a Sheet from One Workbook to an Another

我的VBA代碼中遇到以下錯誤。

運行時錯誤“ 1004”:工作表類的復制方法失敗

Public Sub ExportAsCSV(savePath)
    Set ws = Workbooks("OND Estimator").Worksheets("port")  'Sheet to export as CSV
    Set wb = Application.Workbooks.Add
    ws.Copy Before:=wb.Worksheets(wb.Worksheets.Count)

    Application.DisplayAlerts = False                       'Possibly overwrite without asking
    wb.SaveAs Filename:=savePath, FileFormat:=xlCSV
    Application.DisplayAlerts = True
    wb.Close savechanges:=False
End Sub

只需將工作表復制到任何位置。 這將創建一個具有單個工作表(原始副本)的新活動工作簿,准備將其另存為xlCSV。

Public Sub ExportAsCSV(savePath)

    Workbooks("OND Estimator").Worksheets("port").Copy  'Sheet to export as CSV

    Application.DisplayAlerts = False                   'Possibly overwrite without asking
    with activeworkbook
        .SaveAs Filename:=savePath, FileFormat:=xlCSV
        .Close savechanges:=False
    end with
    Application.DisplayAlerts = True

End Sub

嘗試

Public Sub ExportAsCSV(savePath)
    Application.DisplayAlerts = False    'Possibly overwrite without asking

    With Workbooks("OND Estimator").Worksheets("port").Parent
        .SaveAs Filename:=savePath, FileFormat:=xlCSV
        .Close savechanges:=False
    End With
    Application.DisplayAlerts = True
End Sub

我發現了這個問題! 我沒有意識到隱藏工作表會導致復制方法無法正常工作...

Worksheets("port").Visible = xlVeryHidden

...所以我所做的是,我在復印之前先揭露了紙頁,然后在復印完成后再次隱藏。

Worksheets("port").Visible = True

謝謝你們對我的幫助!

暫無
暫無

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

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