添加与删除工作簿的工作表.doc_第1页
添加与删除工作簿的工作表.doc_第2页
添加与删除工作簿的工作表.doc_第3页
添加与删除工作簿的工作表.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

添加与删除工作簿的工作表1、在工作簿添加单个工作表中的代码。 Sub Addsh() Dim Sh As Worksheet With Worksheets Set Sh = .Add(after:=Worksheets(.Count) Sh.Name = 工作 End With End Sub代码解析:Addsh过程使用Add方法在工作簿中新建“工作”工作表。Dim Sh As Worksheet声明变量Sh为工作表对象。.Add(after:=Worksheets(.Count)使用Add方法在工作簿的最后新建“工作”工作表。Add 方法应用于Sheets和Worksheets对象时新建工作表、图表或宏表,语法如下: expression.Add(Before, After, Count, Type)参数Before是可选的,指定工作表对象,新建的工作表将置于此工作表之前。参数After是可选的,指定工作表对象,新建的工作表将置于此工作表之后。如果Before和 After两者均省略,则新建的工作表将插入到活动工作表之前。参数Count可选,要新建的工作表的数目。默认值为 1。参数Type可选,指定新建的工作表类型。第5行代码将添加的工作表重命名为“数据”。2、在工作簿中批量添加工作表的代码。如果需要在工作簿中批量添加工作表,可以使用下面的代码。 Sub Addsh_2() Dim i As Integer Dim sh As Worksheet For i = 1 To 10 Set sh = Sheets.Add(after:=Sheets(Sheets.Count) sh.Name = i Next End Sub代码解析:Addsh_2过程使用For.Next 语句和Add方法在工作簿中添加10张工作表并将添加的工作表依次重命名。3、在工作簿中删除所有工作表的代码。删除所有的工作表的代码。 Sub Delsh() Dim sh As Worksheet For Each sh In ThisWorkbook.Sheets If sh.Name 数据库 Then Application.DisplayAlerts = False sh.Delete Application.DisplayAlerts = True End If Next End Sub代码解析:Delsh过程使用Delete方法删除工作簿中除了“数据库”工作表以外所有的工作表。第3行代码使用For Each.Next语句遍历代码所在工作簿中所有的工作表。第4行到第7行代码判断工作表名称是否为“数据库”,如果不是则使用Delete方法删除。第5行代码将Application对象的DisplayAlerts属性设置为False,使删除时不显示如图 所示系统警告对话框。图 1 系统警告对话框第6行代码使用Delete方法删除工作表,应用于工作表对象的Delete方法删除指定的对象,语法如下: expression.Delete参数expression是必需的,该表达式返回“应用于”列表中的对象之一。4、在工作簿中判断是否存在相同名称的工作表并添加单张新的工作表的代码。4.1 在添加前先判断工作簿中是否存在相同名称的工作表,然后再进行下一步的操作。对于单张工作表可以使用下面的代码。 Sub Addsh_3() Dim Sh As Worksheet For Each Sh In Worksheets If Sh.Name = 数据 Then MsgBox 工作簿中已有数据工作表,不能重复添加! Exit Sub End If Next With Worksheets Set Sh = .Add(after:=Worksheets(.Count) Sh.Name = 数据 End With End Sub代码解析:Addsh_3过程在使用Add方法在工作簿中新建“数据”工作表时首先判断工作簿中是否存在“数据”工作表,如果已存在“数据”工作表则不运行添加工作表的代码而只显示一个消息框进行提示,如图 所示。图 2 工作表同名提示4.2 还可以使用错误处理语句来绕过错误,如下面的代码所示。 Sub Addsh_4() Dim sh As Worksheet On Error GoTo line With Worksheets Set sh = .Add(after:=Worksheets(.Count) sh.Name = 数据 End With Exit Sub line: MsgBox 工作簿中已有数据工作表,不能重复添加! Application.DisplayAlerts = False Worksheets(Worksheets.Count).Delete Application.DisplayAlerts = True End Sub代码解析:Addsh_4过程是先使用Add方法在工作簿中新建“数据”工作表,如果工作簿中已存在同名的工作表则使用GoTo语句转移到指定的line行处进行提示并删除已添加还没有重命名的工作表,也就是工作簿中最后一张工作表。如果是批量添加工作表,使用上述方法时,添加工作表和已有工作表重名时,后面即使没有重名的工作表也不能添加,所以应先使用错误处理语句忽略错误,待全部添加好以后再删除多余的工作表,如下面的代码所示。 Sub Addsh_5() Dim i As Integer, arr Dim sh As Worksheet On Error Resume Next arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) For i = 0 To UBound(arr) With Worksheets Set sh = .Add(after:=Sheets(.Count) sh.Name = arr(i) End With Next Application.DisplayAlerts = False For Each sh In Worksheets If sh.Name Like Sheet* Then sh.Delete Next Application.DisplayAlerts = True End Sub代码解析:Addsh_5过程使用Add方法在工作簿中添加10张工作表并重新命名为1到10,如果工作簿中已有相同名称的工作表则不添加。第4行代码错误处理语句,当发生重名错误时忽略错误,继续添加工作表。第5行到第11行代码在工作簿中添加10张

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论