1、单元格公式

  B4单元格插入公式=a1

  这里是以b4为标杆位置,b4所在单元格为0,向前一直递减,例如b1单元格在行上的相对距离为r[-3],那么在列上相对a1的距离为c[-1](b1所在列为1,向前一列即为-1向前递减)

 Range(b4).FormulaR1C1 = =r[-3]c[-1]        

   b4单元格计算b1-b3的和

   r[-3]cb1单元格,r[-1]c:b3单元格

 Range(b4).FormulaR1C1 = =sum(r[-3]c:r[-1]c)

 

2、With语句

  适用于对同一对象多次调用时

With 对象名

   .属性 = 值

   .属性 = 值

   .属性 = 值

End With

 

3、Range引用单元格和区域

 Range(a1) 引用A1单元格,以左上角为标准

 Range(A2:D1) 引用A2D1这片单元格区域

 Range(D3:F7).(1,3) 引用D3F7这片区域中的第1行第3列,以D3为参考标准

 Range(D & i) 引用D列和变量i组成的行的单元格

 Range(D3:F4,G10) 引用D3:F4G10这两个区域,即多区域引用

 Range(2:10) 引用第2行到 第10

 Range(D:Z) 引用第D列到第Z

 Rows(2:4) 引用第2行到第4行,如果参数为空表示引用所有行

 Column(D:Z) 引用第D列到第Z列,如果参数为空表示引用所有列

 Range(Range(A1),Range(D2)) 引用A1D2这片区域

  

4、Cells的方式引用单元格

 WorkSheet(1).Cells(5,4) 引用第一个工作表中的第5行第4

 WorkSheet.Cells(2,C) 引用C2单元格

 Range(B2:G11).Cells(2,2) 相对于区域B2:G11的第2行第2

 Range(B2:G11)(5) 表示引用区域B2:G11的第5个单元格

 

5、[a1]方式引用单元格,不需要加引号

 [D2:D3,F10] 引用D2D3F10这两个区域

 [a1] 引用A1这个单元格

  

6、三种引用方式的对比

比较项目及引用方式

Range(A1)

Cells(1,1)

[a1]

可以引用的对象

单元格、多区域、行列

单元格

单元格、多区域、行列

属性与方法列表

支持

不支持

不支持

循环

行循环

行列都支持

不支持

输入简便性

支持参数

索引号、ItemCells

索引号、ItemCells

ItemCells

效率

如果反复引用单个单元格,则使用Cells的方式,否则使用Range的方式

 

7、SelectionActiveCell

 Selection: 代表当前选中的区域

 ActiveCell: 表示活动单元格

 这两个只能引用活动表,引用非活动表会报错

 Selection(4).Activate 让选中区域的第4个单元格激活

 Selection.Cells(3,2).Activate 让选中区域的第3行第2列单元格激活

 

8、已用区域与当前区域

 UsedRange: 表示已存放数据的区域、他是所有的数据单元格组成的最小矩形,可能有些单元格并没有数据在已用区域内,一个工作表中只有一个已用区域,父对象为worksheet

 CurrentRegion: 当前区域,一个表中可以存在多个当前区域,父对象为Range

 

9、SpecialCells:按条件引用区域,实际就是excel中的定位条件功能

 格式: Range.SpecialCells(type,value)

 type: xlcelltype,可用的类型如下:

xlcelltype

含义

xlcelltypeallformateconditions

包含条件格式的单元格

-4172

xlcelltypeallvalidation

包含有效性验证条件的

-4174

xlcelltypeblanks

空单元格

4

xlcelltypecomments

包含注释

-4144

xlcelltypeconstants

包含常量

2

xlcelltypeformulas

包含公式

-4123

xlcelltypelastcell

已用区域的最后一个单元格

11

xlcelltypesameformatconditions

含有相同条件格式的

-4173

xlcelltypesamevalidation

含有相同有效性条件的

-4175

xlcelltypevisible

所有可见单元格

12

 

 只有typexlcelltypeconstantsxlcelltypeformulas时,value才有意义,value的取值如下:

xlspecialcellsvalue

含义

xlnumbers

数值

1

xltextvalues

文本

2

xllogical

逻辑值

4

xlerrors

错误值

16

 

 range(a1:g10).specialcells(xlcelltypeblanks): 引用a1:g10区域的空白单元格

 range(a1:g10).specialcells(xlcelltypeformulas,23) 引用带有公式的单元格

 

10、CurrentArray: 引用数组区域

 数据区域指某个函数的参数是某个单元区域,这个单元区域不能单独更改某个单元格,只能先选择整个数组区域,然后做整体操作,引用的格式为:

 range.CurrentArray

 

11、resize:重置区域大小

 range(a1).resize(2,2) a1区域重置为22

 

12、offset: 根据偏移量引用新区域

 range.offset(rowoffset,columnoffset): 把单元格下移rowoffset行,列向右移columnoffset列,如果为负数,则行为向左,列为向右。

 

13、union: 多区域引用

 application.union(range(a1:b2),range(d3:g4)) a1:b2d3:g4这两个区域合为一个区域,方便后续程序引用,并不是合并单元格,只是逻辑上的合并。

 

14、Intersect: 区域的交集

 application.intersect(range(b1:b10),range(2:2)) 引用b1:b10与第2行的交集,如果交集则为Nothing

 

15、End: 向上、下、左、右引用第一个碰到的非空或者有数据的单元格

 格式:  range.end(Direction),direction的取值如下:

方向

描述

xldown

-4121

向下

xltoleft

-4159

向左

xlltoright

-4161

向右

xlup

-4162

向上

 

16、entirerow/entirecolumn: 将选择的单元格扩展成整个或者整列

 actuvesheet.usedrange.specialcells(xlcelltypeblanks).entirerow.delete: 将活动工作表中已有区域的空白单元格整行删除

 selection.entirerow.insert: 将选区扩展成整行,然后插入,insert会根据前面是行还是列、或者是单元格来进行插入

 

17、rangeselection: 工作表中选择的单元格

   selection的区别是:如果只选择了单元格,则这两者相同。如果既选择了单元格,又同时选择了图片,则rangeselection表示选择的是单元格,而selection表示选择的图片

 

18、visiblerange: 表示excel中可以看见的单元格区域

 

19、判断单元格是否有批注: ActiveCell.Comment is Nothing

 

20、addcomment: 添加单元格批注

 格式: range.addcomment(text),向单元格中添加内容为text的批注,如果批注内容是数字,则需要用cstr转换成string

 

21、autosize: 批批注框随内容多少而自动调整大小

 格式: comment.shape.textframe.autosize = True

 

22、autoshapetype: 修改批注的外形

 格式: range.comment.shape.autoshapetype =137 把外形修改为气泡,取值为1137

 

23、clearcomments: 清空表中的所有批注

 格式: range.clearcoments,清空前可以先用activesheet.comments.count判断一下批注数目

 

24、图形对象

 图形对象的类别是shape,shapes表示图形集合,形状、剪贴画、smartart对象、图表、艺术字、文本框、图片都属于shape,shapes不可以指操作,常用方法如下:

 activesheet.shapes.item(2): 引用活动表中的第2个图形

 activesheet.shapes(1).name: 获取第1个图形的名称

 activesheet.shapes(3).select: 选择第3个图形

 worksheets(1).shapes(3).left =0: left是左边距,左边距为0 表示移动最最左边

 

25、drawingobjects:隐藏的图形对象集合,可以做指操作,可以实现shapes没有的功能

 activesheet.drawingobjects.delete: 删除所有图形

 activesheet.drawingobjects.shaperange.left = range(b:b).left: 所有图形按B列对齐

 

26、shaperange.scaleheight: 调整图形的高度

 

27、工作表

 sheets: 工作表、图表、4.0宏表、5.0对话框都属于此类

 worksheets: 代表excel表集合

 worksheet(2): 引用第2个工作表

 worksheets(sheet1): 引用名称为sheet1的工作表

 worksheets(4).activate: 激活第4个工作表

    worksheets(1).visible=0: 隐藏第1个工作表,如果值为2表示深度隐藏,深度隐藏的表只能使用代码让其显示

 worksheets.add 新增工作表

 worksheets.delete删除工作表

 

28、workbook: 工作簿

 workbooks: 工作簿集合

 workbooks.add: 新增工作簿

 workbooks.count: 工作簿数目

  

原创文章,转载请注明出处:http://www.nwumba.cn/article/17/