excel学习库

excel表格_excel函数公式大全_execl从入门到精通

VBA代码解决方案之二十五:EXCEL工作表的添加与删除

今日继续讲解VBA代码解决方案的第二十五讲:工作表如何添加和删除。在VBA解决方案中,在工作簿中添加工作表使用Add方法,Add 方法应用于Sheets和Worksheets对象时新建工作表、图表或宏表。 语法:expression.Add(Before, After, Count, Type) 参数:a) Before是可选的,指定工作表对象,新建的工作表将置于此工作表之前。b)After是可选的,指定工作表对象,新建的工作表将置于此工作表之后。 如果Before和 After两者均省略,则新建的工作表将插入到活动工作表之前。c) Count可选,要新建的工作表的数目。默认值为 1。 d) Type可选,指定新建的工作表类型。 一 : 如果增加一个工作表,可以参考下面的通用代码: Sub MyAddsh() Dim Sh As Worksheet With Worksheets Set Sh = .Add(after:=Worksheets(.Count)) Sh.Name = "MY" End With End Sub 代码解析:MyAddsh过程使用Add方法在工作簿中新建“MY”工作表。 a) 第2行代码声明变量Sh为工作表对象。 b) 第4行行代码使用Add方法在工作簿的最后新建“数据”工作表。 c) 第5行代码将添加的工作表重命名为“数据”。 二 : 如果需要在工作簿中批量添加工作表,可以使用下面的代码。 Sub MyAddsh_2() Dim i As Integer Dim sh As Worksheet For i = 1 To 8 Set sh = Sheets.Add(after:=Sheets(Sheets.Count)) sh.Name = i Next End Sub 代码解析:MyAddsh_2过程使用For...Next 语句和Add方法在工作簿中添加8张工作表并将添加的工作表依次重命名。 三 : 使用Delete方法可以删除工作表,应用于工作表对象的Delete方法删除指定的对象。 语法如下:expression.Delete 参数expression是必需的,该表达式返回“应用于”列表中的对象之一。在删除工作表时会有一个系统提示,在必要的时候要避免这个提示,如何编写这个代码呢?可以看下面的部分。 四 : 添加和删除工作表的通用方法,在运行添加工作表代码前先删除工作簿中的工作表虽然可以避免同名错误,但也可能误删除有用的工作表,因此更为严谨的方法是在添加前先判断工作簿中是否存在相同名称的工作表,然后再进行下一步的操作。 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" 下面看代码的实测,代码截图: 工作表界面截图:运行后首先出现下面的对话框,删除原来的工作表,之后再新建一个工作表。 今日内容回向: 1 ADD方法的意义是什么? 2 DELETE方法的意义是什么? 3 Application.DisplayAlerts 的意义是什么?

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接