Excel 2010 VBA 入门 032 将列进行分组

目录

Columns对象和Rows对象

单列和单行的表示

多列和多行的表示

Group方法和Ungroup方法

单元格对象的EntireColumn属性和EntireRow属性

单元格区域的Columns属性和Rows属性

Outline对象

示例:


Columns对象和Rows对象

    Columns对象和Rows对象分别表示整列单元格和整行单元格,是一种特殊的单元格区域对象。当这两个对象没有任何指定地址时,分别表示整个工作表的所有列和所有行。

单列和单行的表示

当需要表示单列或单行时,可以使用以下方式表示:

Columns ( ColN)
Rows (RowN)

    其中,CoIN和RowN分别表示列号和行号,为大于0的整数。比如:Columns (5)表示第5列,即E列;Rows (5)表示第5行。

多列和多行的表示

当需要表示多行时,可以使用以下方式表示:

Columns("ColName1:ColName2")
Rows ("RowN1:RowN2")

    其中,CoIName1和CoIName2表示起始列和终止列的列标,即A、B、C等。如E至F列,即为Columns( "E:F”)。RowN1和RowN2表示起始行和终止行的行号,如表示第5至第10行,即为Rows(“5:10”)。
    值得注意的是,利用Columns对象表示多列时,不能使用数字,只能使用用英文字母表示的列标。

Group方法和Ungroup方法

    当需要对某几列或某几行创建组时,可以使用Columns对象和Rows对象的Group方法。Group方法是可以多次使用的,即可以创建多个级别的分组。当需要取消分组时,可以使用Ungroup方法。

单元格对象的EntireColumn属性和EntireRow属性

    除了Columns对象和Rows对象表示整列和整行外,还可以使用Range对象的EntireColumn属性和EntireRow属性表示单元格所在的整列和整行。比如本例表示E:F列,可以使用以下任意表达式表示:

Range ( "E1 : F1" ).EntireColumn
Range ( Cells (1, 5) , Cells (1, 6)). EntireColumn

    由于使用Columns对象表示多列时无法实现用数字,而通过Range对象的EntireColumn属性则使得程序更灵活,可以方便开发者对其使用数字进行循环,从而使得批量操作成为可能。如从第5列开始每隔3列将相邻两列进行组合,因而使用EntireColumn可以进行以下循环:

Dim ColN As integer
For ColN = 5 T0 15 Step 3
     Range (Cells (1,  ColN) ,  Cells (1,  ColN + 1)).Group
Next

单元格区域的Columns属性和Rows属性

    单元格区域(Range)对象有两个属性Columns和Rows,它们所表示的是该单元格区域的整列和整行,如图所示。如以下表达式表示的是该区域的第2列,即C4:C10。

Range("B4:D10").Columns(2)

    如需要表示某个区域的多列时,比如B4:D10的第1和第2列,即B4:C10区域,可以采用以下表达式:

Range("B4:D10").Columns("A:B")

    当使用该种表达式表达多列时,VBA程序将会以B4: D10区域的第1列作为A列而重新给该区域的各列定义,也即是一个相对的位置表示。如图所示,该区域的第1列作为A列,该区域的第2列作为B列,如要表示该区域的第1和第2列,则为Columns(”B:C”)。

Outline对象

  •     Outline是工作表(Worksheet)对象的一个属性,同样也是一个对象。用它的3个重要属性可以对创建分组的格式进行设置。
  •     SummaryRow属性表示创建行分组时汇总行的位置,可以为xISummaryAbove或者xISummaryBelow,分别表示汇总行在明细数据上方或下方。
  •     SummaryColumn属性表示创建列分组时汇总列的位置,可以为xISummaryLeft或者xISummaryRignt,分别表示汇总列在明细数据左方或右方。
  •     AutomaticStyles属性表示分级显示使用自动样式,可以为True或False。

  这三个属性分别对应了分级显示设置中的三个选项,如图所示。

示例:

如图所示,如何使用VBA将每月的工资明细按每3个月进行快速分组?

员工编号 姓名 部门 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
0006 程建华 财务部 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875
0009 李国敏 财务部 3050 3050 3050 3050 3050 3050 3050 3050 3050 3050 3050 3050
0016 袁志刚 财务部 3523 3523 3523 3523 3523 3523 3523 3523 3523 3523 3523 3523
0017 周汉林 管理部 2890
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ngbshzhn

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

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

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

打赏作者

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

抵扣说明:

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

余额充值