Excel 方法';复印件';对象的'_工作表';失败
这是我第一次面对这个错误 对象“\u工作表”的方法“复制”失败 我听说这是一个很常见的错误,但我没有找到解决办法。当我搜索时,我发现了很多关于 对象的“范围”失败错误 此错误是由工作站内存限制引起的,还是与软件相关的错误 有人有办法解决这个问题吗 如果感兴趣的是我的VBA代码:Excel 方法';复印件';对象的'_工作表';失败,excel,vba,Excel,Vba,这是我第一次面对这个错误 对象“\u工作表”的方法“复制”失败 我听说这是一个很常见的错误,但我没有找到解决办法。当我搜索时,我发现了很多关于 对象的“范围”失败错误 此错误是由工作站内存限制引起的,还是与软件相关的错误 有人有办法解决这个问题吗 如果感兴趣的是我的VBA代码: Private Sub CommandButton1_Click() MsgBox "Message" Dim wb As Workbook Set wb = Workbooks.Add(xlWBATWorks
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
ws.Copy After:=wb.Sheets(wb.Sheets.Count)
是错误的原因。尽管进行了深入的研究,但我找不到有关此错误的任何详细信息。解决方案对我来说非常简单,就是手动将所有内容复制到一张新的工作表上,然后从那里启动宏。此错误可能是由有限的资源或坏单元格造成的
VBA本身是有效的。如果有人遇到这种问题,重建工作表可能会奏效 这是一个有一年历史的帖子,但万一有人找到了他们的方法,我也收到了这个错误并解决了它。我试图在隐藏的工作表上使用.copy函数。我一取消显示工作表,宏就正常工作了。通过在前面添加
工作表(“Sheet1”).visible=True
。复制代码并在代码末尾添加工作表(“Sheet1”).visible=False
,它为我修复了错误。您的代码不会为我产生任何错误。我可以创建工作簿并复制工作表,因此肯定还有其他内容。Myabe worbook的任何工作表都有保护吗?您是否尝试过使用F8进行调试,并检查它在第一次循环或特定工作表时是否失败?是否可以在=wb.Worksheets(wb.Worksheets.Count)之后尝试<代码>工作表
也可以参考图表,这可能会导致错误。如果尝试添加不基于任何模板的普通工作簿,该怎么办?使用Set wb=Workbooks.Add
还可以添加什么版本的Excel?Windows还是Mac?我唯一能想到的是工作表
是一个集合,它基于0
。因此,您可以尝试After:=wb.Worksheets(wb.Worksheets.Count-1)
源文件,是XLS吗?所有单元格都已格式化,这是什么意思?