从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