Excel 2010 VBA 入门 061 按模板快速生成指定数量的工作表

目录

示例

实现代码

工作表对象(Worksheet)及其表示方法

1.序号表示法

2.工作表名称表示法

3.对象名称表示法

工作表集合和工作表

工作表常用的基本属性

工作表的添加与复制

工作表对象(Worksheet)与单元格对象(Range)的关系

工作表的删除

 Application. DisplayAlerts属性


示例

    如图所示,该表为某公司在银行的余额汇总。现希望按照模板的格式生成若干张工作表,各工作表以银行名称作为表格名称,并将该银行信息填入表内。如何用VBA批量完成?

实现代码

Option Explicit

Sub 按模板生成工作表()
    Dim RowN As Long
    Dim shtOld As Worksheet
    Dim shtNew As Worksheet
    Dim shtTemplate As Worksheet
    
    '设定模板
    Set shtTemplate = Sheets("Sheet2")
    '设定数据工作表
    Set shtOld = Sheets("Sheet1")
    '遍历所有的记录
    For RowN = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        '创建工作表的副本,并将其放置于最后
        shtTemplate.Copy after:=Worksheets(Worksheets.Count)
        '变量赋值,指向新创建的工作
        Set shtNew = Worksheets(Worksheets.Count)
        '更改名称
        shtNew.Name = shtOld.Cells(RowN, "A").Value
        shtNew.Cells(3, "A").Value = shtOld.Cells(RowN, "A").Value
        shtNew.Cells(9, "A").Value = shtOld.Cells(RowN, "B").Value
        shtNew.Cells(9, "E").Value = shtOld.Cells(RowN, "C").Value
    Next
End Sub

工作表对象(Worksheet)及其表示方法

    工作表对象(Worksheet)是Excel中一个非常重要的对象,它代表一个工作表。在VBA中,若要表示当前工作簿中的工作表,可以采用以下几种表示方式。

1.序号表示法

序号表示法是以工作表在工作簿中的位置来表示的,其语法如下:

Worksheets(indexNo)

    该表达式将返回一个工作表对象。其中,Worksheets表示当前工作簿中工作表的集合,即当前工作簿中所有的工作表。参数indexNo表示工作表的序号,该序号从1开始,最大为当前工作簿中工作表的数量。
    使用本方法表示工作表时,序号是以工作表在工作簿中的位置来决定的,如图所示。该工作簿中第1个工作表即“Sheet2”工作表,在此排序下,可以使用以下表达式来表示:

而当工作表的位置交换后,Worksheets (1)可能表示其他工作表。

2.工作表名称表示法

本方法是以工作表的名称来表示工作表对象,其语法如下:

Worksheets(sheetname)

    该表达式将返回一个工作表对象。其中,参数sheetname为工作表名称的文本表达式,该名称是工作表界面在工作表标签上所显示的名称。

3.对象名称表示法

    对象名称是在VBE的工程资源浏览器所显示的名称,如图所示。用该名称可以直接表示某个工作表对象,相当于使用一个工作表类型(Worksheet)的变量,而该名称为该变量的名称。

    使用本方法表示工作表对象,则不会受工作表位置或者工作表标签名称变化的影响,可以使代码更加通用和稳定。

工作表集合和工作表

    工作表集合对象(Worksheets)是若干个工作表对象(Worksheet)的集合。若不加任何限定,Worksheets对象可以直接表示工作簿中所有的工作表,工作表对象则必须使用上述表示方法来表示以特指某个工作表,如:工作表在其集合中特定的位置(indexNo)或者名称( sheetname)。在Excel VBA中,类似于worksheets和worksheet的关系还有单元格集合(Cells)和单元格对象(Range)、工作簿集合(Workbooks)和工作簿(Workbook)。
    需要注意的是,表达式Worksheets是VBA中的一个对象,可以直接使用。而表达式Worksheet是一个对象的类型,不可直接使用。若需使用工作表对象,则必须遵循本例中的3种表示方法表示某个工作表对象。

工作表常用的基本属性

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值