对象引用方式总结

                                                                        

一、对象的概念

在VBA中,工作簿,工作表,单元格,名称,批注,条件格式,图形,图表,透视表,区域等都是对象,对象代表了应用程序中的每个元素。

         在VBE中利用F2弹出对象浏览器,在工程/库下拉列表中选择excel,在左边的类列表中列出了VBA所支持的所有对象。包括其方法和属性。

         对象是一个实体的物件,具有一些特征,具有读取和改变这些特征的行为,而且在改变其部分特征时,会自动产生某些预定的反应,特征称为属性,改变特征行为则为方法,改变属性的时候引发的反应为事件

         Sheets(“sheet1”).Active  激活当前表

         ActiveSheet.Name=”我的表”   将当前活动表的名称更改

二、对象与对象集合

对象是一个应用程序中可操作的元素,对象集合则为一组具有相同性质的对象的集合,例如:工作表sheet1为一个对象,那么sheets则为集合。Worksheet---worksheets

Name---names  条件格式与条件格式集合formatCondition---formatConditions

单元格—单元格集合   cell(行,列)---cells

对象集合有count属性,而对象则没有

激活第二个窗口   Windows(“Books”).select 

同时选择三个表  sheets(Array(“sheet1”,”sheet2”,”sheet3”)).select

Sheets包含了worksheets的所有工作表对象成员和所有图表chart对象成员。添加新工作表sheets.Add , , ,xlworksheet

注意:手动操作对象时候。必须先激活该对象,而在VBA可以向一个非活动对象发送指令,设置该对象处于隐藏状态

三、对象的层次,父对象与子对象

对象是有层次的,上一层称父对象,下一层为子对象

Expression.Parent 父对象使用parent属性访问

单元格的父对象Range(“A1”).Parent则为工作表对象

ActoveCell.parent.parent 或者使用Range(“A1”)获取工作簿对象

四、认识excel所有对象

Excel包含248种对象。太多了。- -,

常用的对象

Workbook                            工作簿对象

Window                               窗口对象

Worksheet                          工作表对象

Shape                                   图形对象

Range                                   单元格对象

Name                                   名称对象

Chart                                    图形对象

CommandBarPopup         下拉菜单对象

CommandBar                     工具栏按钮对象

五、对象的表示法

a)        对象的完整引用方式与简写

完整引用:在引用对象时将对象以及父对象的父对象录入,可以准备找到子对象

简写则成为相对应用,万泉受制于鼠标的活动

b)        利用名称获取对象

对图形对象默认的命名方式为’图形类型编号’,插入一个图片。则为’图片 1’

Sheet1.Shapes(“图片 1”).delete  删除该图片

c)        重定义图形对象的名称

Sheets(1).shapes(“图片 1”).Name=”新名称”

获取覆盖区域

Range(Sheets(1).Shapes(“Win XP”).BootomRightCell,Sheets(1).Shapes(“WinXP”).TopLeftCell).address(0 ,0)  注意名称的空格半角和全角

d)        利用集合索引获取对象

Shapes(2) 获取到

e)        活动对象的简化引用

活动工作表      ActiveSheet

活动单元格              ActiveCell

活动工作簿              ActiveWorkboox

活动窗口                   ActiveWinodw

f)         利用with语句简化对象引用

例如:将当前选择添加黄色背景色

With Selection.Interior

         .Pattern=xlSolid  填充图案

         .PatternColorIndex=xlAutomatic   图案颜色

         .Color =65535

         .TintAndShade=0  深浅度

         .PatternTintAndShade=0  对象的单色和底纹图案

g)        事件中的me对象

如果注册一个事件,则用me代表当前的对象。如果点击sheet1则为sheet1对象。点击sheet2  为激活状态则为sheet2

Me.OLEObjects.count  当前工作表的OLE对象总数

h)        单元格的各种引用

                        i.             Range(“A1”)

                      ii.             Cells(1,1)

                     iii.             [A1]

                     iv.             引用区域  Range(”A1:D1”)

                      v.             Range(“D3:E7”)(1.5).address   结果为$E$3    Rnge(“D3:E7”)(4.4)   $E$4

Range(“D3:E7”)(1,3) 表示区域的一行三列  可为负,左偏移和右偏移

                     vi.             引用多个区域   Range(“A1:D3,F4,Z1:ZB2”)

                   vii.             引用整行整列    Range(”2:2”) 引用第二行  Range(“2:10”) 二行到十行, Range(“D:d”) D列   Range(“D:z”) D列到Z列结束

                  viii.             Range(Range(“A1”),Range(A2)) 引用A1-A2的区域

                     ix.             Cells(行,列)   如果一个参数  先行后列使用

i)          当前选区和活动单元格   Selection   ActiveCell 

利用Active 改变选区  活动与当前选区只能用于当前工作表

j)          Names 利用名称引用单元格或区域

Names.Add [A1],[A2:A7] 参数1为各列的标题参数2为标题意外的数据区域

定义名称后,在名称管理器中罗列出来

CreateNames(Top.left,bottom,right,) 使用上 左,下,右的标题名称

定义区域名称  直接使用Range(名称) 访问到

k)        UsedRange和CurrentRegion

Sheet.UsedRange 已用区域,使用过的单元格区域

Sheet. CurrentRegion当前区域,

l)          specialCells               按条件引用区域

单元格对象. specialCells(单元格类型[,value])

单元格类型有两种:

xlCellTypeAlFormatConditions  任意单元格类型

xlCellTypeAlValidation  带有验证条件的单元格   -4172

xlCellTypeBlanks                空单元格                                    -4174

xlCellTypeComments       含注释的单元格                       4

xlCellTypeConstants         含常量的单元格                       -4144

xlCellTypeFormulas          含公式的单元格                       -4123

xlcellTypeSameFormatConditions   含有相同格式的单元格                   -4173

xlCellTypeSameValidation        含有相同验证条件的单元格                   -4175

xlCellTypeVisible                         所有可见的单元格       12

m)      CurrentArray   引用数组区域

单元格是否存在数组,  Range().CurrentArray  如果不是则出错

n)        Resize 重置区域大小

Resize(RowSize,ColumnSize) 调整指定区域的大小,  行数   列数 如果只有一个参数,则表示将选中区域重置为一行,而列数保持不变

o)        Offset 根据偏移量引用区域

Range.Offset(RowOffset,ColumnOffset)  行偏移   列偏移  都是可选  单元格对象调用

p)        Union  单元格的合集

单元格合计是将多个单元格或者区域和平为一个区域  是application的对象

Application.union([A2:B2],[D3:G4])  引用新区域

q)        Intersect 单元格区域的交集

Application.Intersect([A1:A10],[2:2])  表示第二行的交界处是A2

r)         End : 引用源区域的区域尾端的单元格

按下Ctrl+方向键迅速将单元格一直一用区域的边缘,

Range.End(Direction)

参数列表

XlDown      向下       -4121

xlToleft              向左                   -4159

xlToRight           向右                   -4161

xlUp                    向上                   -4162

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值