从Excel删除工作表似乎不工作

我正在尝试使用VB6replaceExcel电子表格中的最后一个工作表。 由于删除最后一张工作表是不允许的,我一直在尝试添加一个临时工作表,删除一个我不想要的,replace旧的,然后删除临时工作表,如下所示:

Set temporary_sheet = mwbkBook.Worksheets.Add temporary_sheet.Name = "NameThatIsUnlikelyToExist" ' Error Here. For Each lSheet In mwbkBook.Worksheets Select Case lSheet.Name Case "SheetToReplace" Application.DisplayAlerts = False lSheet.Delete End Select Next lSheet Set mwshSheet = mwbkBook.Worksheets.Add mwshSheet.Name = "SheetToReplace" ' Fill in mwshSheet For Each lSheet In mwbkBook.Worksheets Select Case lSheet.Name Case "Sheet1", "Sheet2", "Sheet3", "NameThatIsUnlikelyToExist" Application.DisplayAlerts = False lSheet.Delete End Select Next lSheet 

这个代码的第一个调用给了我一个包含一个工作表"SheetToReplace"的电子表格,正如我通过显示电子表格来validation的。

第二个调用在指示的线上给出错误: –

 Cannot rename a sheet to the same name as another sheet, a referenced object library or a workbook referenced by Visual Basic. 

(编号1004)。

有谁知道我可以如何摆脱这个看不见的工作表,或者达到预期效果的更好方法?

你说这张表是隐藏的? 您需要先将其设为可见,然后将其删除。

尝试:

 lSheet.Visible = TRUE lSheet.Delete 

由于删除最后的工作表是不允许的。

如果你只想删除最后一张纸,你可以这样做

 mwbkBook.Sheets(mwbkBook.Sheets.Count).Delete