使用Worksheets集合或Sheets集合的Add方法可以实现在指定位置添加新工作表,并且添加后的新工作表自动为活动工作表。

Sub 插入新工作表并改名()
    With Worksheets
        .Add after:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = "ExcelHome"
    End With
End Sub
上面的程序可以实现在当前工作簿中的所有工作表后面添加一个新工作表,并将其名称重命名为“ExcelHome”

需要解释一下Add方法后的参数:

expression.Add(Before, After, Count, Type)

expression      必需。该表达式返回上面的对象之一。

Before      Variant 类型,可选。指定工作表对象,新建的工作表将置于此工作表之前。

After      Variant 类型,可选。指定工作表对象,新建的工作表将置于此工作表之后。

Count      Variant 类型,可选。要新建的工作表的数目。默认值为 1。

Type      Variant 类型,可选。指定工作表类型。可为以下 XlSheetType 常量之一:xlWorksheet、xlChart、xlExcel4MacroSheet 或 xlExcel4IntlMacroSheet。如果要基于现有模板插入工作表,则请指定该模板的路径。默认值为 xlWorksheet。

说明

如果 Before 和 After 两者均省略,则新建的工作表将插入到活动工作表之前。

这里提到了Count参数,什么意思?可以指定一次插入多少张工作表!

Sub 插入新工作表并改名2()
    With Worksheets
        Debug.Print .Count
        .Add after:=Worksheets(Worksheets.Count), Count:=10
        ActiveSheet.Name = "ExcelHome"
        Debug.Print .Count
    End With
End Sub

有个问题,当工作簿窗口隐藏时,再运行上面的程序就会报错:

如何解决?将工作表的创建进行实例化,可以解决这个问题。

Sub 插入新工作表并改名改进()
    Dim sht As Worksheet
    With ThisWorkbook
        Set sht = .Worksheets.Add(after:=.Worksheets(.Worksheets.Count))
        sht.Name = "Excelhome"
    End With
    Set sht = Nothing
End Sub

仔细对比上两段代码,有个地方:Add方法第一段代码加括号不能通过,而第二段代码中必须用括号括起来,不然也无法通过,为什么?哪位大侠知道望能不吝赐教。

43 Things: Excel VBA
BuzzNet: Excel VBA
del.icio.us: Excel VBA
Flickr: Excel VBA
IceRocket: Excel VBA
LiveJournal: Excel VBA
Technorati: Excel VBA
 这就是 菊子曰啦!

转载于:https://www.cnblogs.com/xiehui/archive/2011/04/11/2012864.html

VBA实战技巧精粹004:在工作簿中添加新工作表相关推荐

  1. originPro2021(2)工作簿中添加新列且图中添加线

    step1 方法1:右键工作簿的空白处"添加新列" 方法2:快捷键ctrl+D step2 右键图层内容 选中添加的列

  2. VBA将工作簿中的所有工作表的内容输出到一个工作表中

    主体是对该工作簿中所有的工作表进行遍历,然后将内容依次输出到一个工作表中. 下面看代码: Rem 将多个工作表中的内容汇总到一个工作表中 Sub collect()Rem 定义要循环的工作表和拿来去循 ...

  3. Python+Excel系列:案例六:批量打印工作簿、批量打印多个工作簿中的指定工作表

    文章目录 批量打印工作簿 批量打印多个工作簿中的指定工作表 批量打印工作簿 专门用于打印的函数PrintOut() import os #导入os模块 import xlwings as xw #导入 ...

  4. 6.9对一个工作簿中的所有工作表分别求和并将求和结果写入固定单元格

    # 对一个工作簿中的所有工作表分别求和并将求和结果写入固定单元格 import xlwings as xw import pandas as pd app = xw.App(visible=False ...

  5. 使用Python批量合并多个工作簿中的同名工作表

    批量合并多个工作簿中的同名工作表 使用Python的xlwings模块批量合并多个工作簿中的同名工作表 import os import xlwings as xw import pandas as ...

  6. Excel 合并一个工作簿中的所有工作表

    Excel 合并一个工作簿中的所有工作表 最近在做一个统计表的时候发现了一个问题,我一个工作簿中有许多工作表,我要把它们汇总到一个工作表中进行统计.一个个复制非常麻烦,那么我们怎么来进行简化操作: 1 ...

  7. 【excel使用】批量删除excel工作簿中多个工作表的同一列内容?

    1.首先要保证多个工作表(sheet页)表头保持一致,或者部分保持一致(只能修改一致的部分) 2.如果想要删除所有工作表中的B列内容 ,一个一个的删除会很麻烦,所以需要使用批量删除: 1)鼠标点选工作 ...

  8. Python+Excel系列: 案例三:批量重命名一个工作薄中的所有工作表、批量重命名一个工作簿中的部分工作表

    文章目录 批量重命名一个工作薄中的所有工作表 批量重命名一个工作簿中的部分工作表 批量重命名一个工作薄中的所有工作表 例:把table文件夹下一个工作簿中所有工作表名中的"销售"二 ...

  9. VBA实战技巧精粹011:新建只有1张工作表的工作簿

    问题提出:默认情况下,新建工作簿时都是给出3张工作表,如果在让老师们整理一些材料时,不清楚的老师往往乱点,如果一个工作簿只有1张工作表的话,就可以有效地避免这个现象. 解决代码: Sub AddNew ...

最新文章

  1. 通过修改软链接升高 gcc 版本、降低 gcc 版本
  2. PHP未定义名称的方法,PHP:“调用未定义的方法”......但方法是否已定义?
  3. 圣诞大战!于嘉可以不要这么偏见吗
  4. 课堂作业_什么是图灵测试
  5. 18、Java Swing JMenu和JPopupMenu:菜单和弹出式菜单
  6. 细水长flow之f-VAEs:Glow与VAEs的联姻
  7. Struts2(一)— 入门
  8. 2013电赛总结【西电专用】
  9. SQL重复记录查询的几种方法
  10. Mac系统中MongoChef链接MongoDB集群的方法
  11. 从0到1使用VUE-CLI3开发实战(五):模块化VUEX及使用vuetify
  12. java常见数据算法_冒泡排序
  13. pdf png 转换超清
  14. adb命令获取app布局文件xml
  15. 2022美赛M奖经验总结(3)选题思路篇
  16. 中国姓氏英文翻译大全
  17. 人脸识别技术活体检测方法概述
  18. 【计算几何】【极角排序】Gym - 101174B - Bribing Eve
  19. Linux配置本地yum源(光盘镜像挂载)
  20. MATLAB 查找互素(质)对

热门文章

  1. 一切从零开始 魔兽地图编辑器详细教学贴
  2. iOS 中的单元测试
  3. 用模型拟合New Haven市年平均气温变化并预测未来三年的温度
  4. 迁移学习后续——中草药分类(之简单学习代码编程过程)
  5. 天河 超级计算机升级,“天河二号”超级计算机二期初步升级完成
  6. Flex中实时动态加载(图像swf)皮肤的方法
  7. APE文件直接刻录CD
  8. SysY语言(C子集)简单词法分析
  9. 一枚程序员出路的随想
  10. 转载非原创-- 一个APP的前世和今生