Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4990|回复: 3

VBA批量插入以日期为工作表表名的工作表

[复制链接]
发表于 2012-3-19 19:24 | 显示全部楼层 |阅读模式
在EXCEL工作簿的Sheet1的A列中A2:A367是日期格式日期的如:A2显示的是12-01-01,...A367显示的是12-12-31,怎样通过VBA批量插入366张工作表,工作表名分别为12-01-01,12-01-02,12-01-03,以此类推
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-3-19 19:32 | 显示全部楼层
在Excel中插入多张新工作表后,通常要修改这些工作表名称,如果工作表较多,逐一修改显得较为繁琐。实际上,利用数据透视表可以快速在工作簿中插入大量预先设定名称的新工作表,在需要插入的工作表数量较大的情况下,这种方法十分快捷。
    假如要在Excel中插入一些以城市名称命名的新工作表,在Excel 2007和Excel 2003中操作方法如下:
    Excel 2007:
    1.准备所需的工作表名称。
    在某个工作表的A列中输入或复制所需插入的工作表名称。其中A1单元格为必需的列标题,本例为“城市”,从A2单元格开始输入或复制要插入的工作表名称。
     
    2.建立数据透视表。
    选择A列中包含数据的某个单元格,在功能区中选择“插入”选项卡,在“表”组中单击“数据透视表→数据透视表”。弹出“创建数据透视表”对话框,单击“确定”。Excel会在一个新工作表中建立数据透视表。
    3.在工作表右侧的“数据透视表字段列表”中,将“城市”字段拖动到下方的“报表筛选”区域中。
      
    这时的数据透视表如下图:
      
    4.保持数据透视表的选择状态,在功能区中“数据透视表工具-选项”选项卡的“数据透视表”组中单击“选项→显示报表筛选页”。
      
    弹出“显示报表筛选页”对话框,单击“确定”。
      
    这时Excel会自动在工作簿中插入相应数量新工作表,工作表的名称为步骤1中A列所指定的名称。
      
    5.删除数据透视表。
    这时每个新工作表中都包含一个数据透视表,需将其全部删除。选择第一张工作表,然后按照Shift键,单击最后一个新插入的工作表,同时选择这些新插入的工作表,使其成为一个工作组。如果最后一个新插入的工作表不可以见,可以单击工作表标签左侧的箭头让其显示出来。
    由于此时数据透视表仅包含在区域A1:B1区域中,选择A1:B1区域,在功能区中选择“开始”选项卡,在“编辑”组中单击“清除→全部清除”删除所有新插入工作表中的数据透视表。
     
    至此完成批量工作表插入工作。如果以后在这些新工作表中建立的表格内容都相似,可以在其成为工作组时将所要处理的表格复制过来,这会将所复制的表格复制到同组的所有工作表中。需要注意的是,对工作组中的每个工作表进行操作时会影响到同组的其他所有工作表,如果要单独处理某个工作表,务必取消工作组。取消工作组的方法是单击工作簿中的其他不在工作组中的工作表。

Excel 2003:
    1.准备数据。
    由于要在最后一步要一次删除所有数据透视表,因而除了在A列中准备工作表名称外,还需在B列中准备一些数据,其中B1为列标题,从B2开始的数据可以为任意数值,本例为一些简单的数字,如图。
      
    2.选择上述某个已输入数据的单元格,单击菜单“数据→数据透视表和数据透视图”,在弹出的对话框中单击“完成”。Excel会在一个新工作表中建立数据透视表。
    3.在“数据透视表字段列表”中,将“城市”字段拖动到上方的“页面区域”中。将另一个字段拖到“数据区域”中。
      
    这时的数据透视表如下图:
      
    4.保持数据透视表的选择状态,在“数据透视表”工具栏中单击“数据透视表→分页显示”。如果“数据透视表”工具栏没有出现,可以单击菜单“视图→工具栏→数据透视表”让其显示出来。
     
    弹出“分页显示”对话框,单击“确定”。
      
    这时Excel会自动在工作簿中插入相应数量的新工作表,工作表的名称为步骤1中A列所指定的名称。
     
    5.删除数据透视表。
    这时每个新工作表中都包含一个数据透视表,需将其全部删除。选择第一张工作表,然后按照Shift键,单击最后一个新插入的工作表,同时选择这些新插入的工作表,使其成为一个工作组。如果最后一个新插入的工作表不可以见,可以单击工作表标签左侧的箭头让其显示出来。
    由于此时数据透视表仅包含在区域A1:B4区域中,选择A1:B4区域,单击菜单“编辑→清除→全部”删除所有新插入工作表中的数据透视表。
回复

使用道具 举报

发表于 2012-3-19 19:42 | 显示全部楼层
  1. Sub 批量插入工作表()
  2.     Dim sh As Worksheet
  3.     Dim ar
  4.     Application.ScreenUpdating = False
  5.     ar = Sheet1.Range("a2:a367")
  6.     For i = 1 To UBound(ar)
  7.         Set sh = Worksheets.Add(after:=Sheets(Sheets.Count))
  8.         sh.Name = ar(i, 1)
  9.     Next
  10.     Application.ScreenUpdating = True
  11. End Sub
复制代码
回复

使用道具 举报

发表于 2012-3-19 19:59 | 显示全部楼层
看看学习一下!~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-18 23:09 , Processed in 0.238044 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表