目录
单元格对象的EntireColumn属性和EntireRow属性
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 | 2890 | 2890 | 2890 | 2890 |