添加和删除工作表的通用方法,在运行添加工作表代码前先删除工作簿中的工作表虽然可以避免同名错误,但也可能误删除有用的工作表,因此更为严谨的方法是在添加前先判断工作簿中是否存在相同名称的工作表,然后再进行下一步的操作。 Sub MyAddsh_3() Dim sh As Worksheet For Each Sh In Worksheets If Sh.Name = "MY" Then MsgBox "工作簿中已有""MY""工作表,将删除原存在的工作表" Application.DisplayAlerts = False Worksheets(Worksheets.Count).Delete Application.DisplayAlerts = True EXIT FOR End If Next With Worksheets Set sh = .Add(after:=Worksheets(.Count)) sh.Name = "MY" End With End Sub 代码解析:MyAddsh_3过程是先检查工作表中是否含有“MY”工作表,如果有,立刻删除,最后使用Add方法在工作簿中新建“MY”工作表. a) For Each…. Next…. 将遍历工作表,检查原工作表中是否含有“MY”的工作表。 b) MsgBox "工作簿中已有""MY""工作表,将删除原存在的工作表" 如果有“MY”的工作表,首先要弹出一个对话框,告知有这个工作表,讲删除。 c) Application.DisplayAlerts = False 将关闭弹出的警告对话框。 d) Application.DisplayAlerts = True 将打开弹出的警告对话框。 e) Worksheets(Worksheets.Count).Delete 删除原有的工作表。 f) Set sh = .Add(after:=Worksheets(.Count)) sh.Name = "MY" 添加一个新的工作表,工作表的名称为"MY"
|