对象“_Worksheet”的方法“复制”失败

Vin*_*nzo 5 excel vba

我第一次遇到这个错误

对象“_Worksheet”的方法“复制”失败

我听说这是一个很常见的错误,但我无法找到解决方案。当我搜索时,我发现了很多关于

对象的“范围”失败-错误。

此错误是由工作站的内存限制引起的还是与软件相关的错误?

有人有办法解决这个问题吗?

如果您感兴趣的话,这是我的 VBA 代码:

Private Sub CommandButton1_Click()
MsgBox "Message"

  Dim wb As Workbook
  Set wb = Workbooks.Add(xlWBATWorksheet)
  wb.Sheets(1).Name = "deletethissheet"

  Dim ws As Worksheet
  For Each ws In ThisWorkbook.Worksheets
    ws.Copy After:=wb.Sheets(wb.Sheets.Count)
  Next

  For Each ws In wb.Worksheets
    ws.UsedRange.Formula = ws.UsedRange.Value

    Dim sh As Shape
    For Each sh In ws.Shapes
      sh.Delete
    Next

  Next

  For Each Link In wb.LinkSources(xlLinkTypeExcelLinks)
  wb.BreakLink Name:=Link, Type:=xlLinkTypeExcelLinks
  Next

  wb.Sheets("deletethissheet").Delete
  wb.SaveAs Replace(ThisWorkbook.FullName, ".xlsm", "_" & Format(Date, "yyyymmdd") & ".xlsx"), xlOpenXMLWorkbook
  wb.Close SaveChanges:=False

End Sub
Run Code Online (Sandbox Code Playgroud)

ws.Copy After:=wb.Sheets(wb.Sheets.Count) 是错误的原因。

Vin*_*nzo 1

尽管进行了大量研究,我还是找不到有关此错误的任何详细信息。解决方案对我来说非常简单,是将所有内容手动复制到新工作表上并从那里启动宏。此错误可能是由有限的资源或坏的单元引起的。

VBA 本身可以工作。如果有人遇到此类问题,重建工作表可能会起作用。