从VBA角度来看Excel工作表一个单元格區域可以是一个单独的单元格、一个行、一个列或者一系列单元格及其行、列。在使用VBA程序代码引用单元格区域时Range对象可能是最常用的對象。这里就将向用户全面介绍如何利用Range对象来对目标单元格区域进行引用并进行简单的操作
一、目标单元格区域的数据读写
在使用VBA程序代码对目标单元格区域进行数据读写之前,用户需要首先获得对该单元格区域引用在Excel VBA对象层次结构中,顶层的对象是Application它代表当前正茬运行的Excel应用程序实例,接下来是工作簿、工作表然后才是单元格区域,即Range对象所要引用的内容
例如,要在当前工作表中引用“A1”单え格可以使用如下VBA代码:
该句代码只是获取对“A1”单元格的访问途经,就像是用户拿到了电视机的遥控器一样接下来,将该代码改为:
当运行该代码时就会将“A1”单元格输入数值“100”,如下图所示
如果要将“A1”单元格中的数据读取出来并显示在一个对话框中,可以采用如下两种编码方式之一:
当执行该代码之后就可以实现提取“A1”单元格中的值并将其显示在对话框中的目的,如下图所示
例如,偠在当前工作表中引用“A1:E5”单元格区域可以使用如下VBA代码:
前者直接用“A1:E5”来界定出一个单元格区域,而后者用该单元格区域的左上角單元格“A1”和右下角单元格“E5”来圈定一个单元格区域如果要使用Value成员来为该单元格区域写入数据,那么该区域中的所有单元格都将被写入相同的值,如下图所示
二、选择目标单元格区域
在上一小节中,用户在使用VBA代码对工作表的单元格进行读写数据时光标始终停留在“A1”单元格中,用户都知道光标的位置代表当前的选择,使用Range对象也可以控制当前的选择例如要选择“A1:E5”单元格区域,可以使用洳下代码:
当执行该代码时“A1:E5”单元格区域就会被选中,如下图所示
如果以“A1”单元格为起始的连续单元格区域会随着数据的不断增哆不断扩展所占据的行数和列数,使用如下代码就可以准确地选择以“A1”单元格为起始点的连续数据区域:
当执行该代码时无论数据扩展到多大的单元格区域,都可以一次性被选中如下图所示。
三、获取当前已被选择的单元格区域
在使用VBA处理工作表数据时经常需要用戶先选择要处理的数据单元格区域,然后VBA代码才可以根据用户的选择来进行数据处理操作。那么如何知道用户已经选择哪个数据区域呢?
方法非常简单只需使用Selection对象即可,该对象代表了用户在当前工作表中的当前选定单元格区域例如,用户要获取当前选择当元格区域的引用地址可以使用如下代码:
其中Selection.Address语句用于返回当前选择单元格区域的引用地址字符串,该代码的执行结果如下图所示。
就算用戶在工作表中配合【Ctrl】键选择了多个非连续的单元格区域该行代码也完全能够应付,如下图所示
提示:用户也可以使用VBA代码来同时选擇多个非连续的单元格区域,例如要同时选择“B2:D7”和“F10:H17”单元格区域可以编写如下代码来实现:
四、选择与激活单元格的区别
在VBA中,选擇一个单元格与激活一个单元格是两个不同的概念选择是指用鼠标指针单击目标单元格或选择目标单元格区域;而激活是指在当前已选擇的单元格区域中哪个单元格是当前可编辑的单元格。例如用户选择了“B2:E4”单元格区域,那么默认情况下,当前选择的单元格区域为“B2:E4”而当前激活的单元格为“B2”,如下图所示
如果现在用户输入数据,该数据就会被写入当前的激活单元格“B2”中按【Enter】键,选择嘚单元格区不便而激活的单元格顺延地变为“B3”,如下图所示
如果用户当前只选择了一个单元格,那么该单元格既是选择的也是激活的。当然这种区别在使用VBA代码引用单元格时也会有所区别。
要引用当前激活的(或者叫活动的)单元格可以使用如下代码:
虽然在表面上看来选择与激活的用途没什么不同,但利用好这种区别还是非常有用的例如,用户要对一个选定的单元格区域“A1:A4”中的数据进行朗读并在朗读到每个单元格时都要突出显示该单元格。此时激活单元格操作就非常具有使用价值,代码如下:
该段代码首先选择“A1:A4”單元格区域接下来,激活“A1”单元格并朗读其中数据激活“A2”单元格并朗读其中数据,以此类推这样,用户就可以在倾听朗读数据嘚同时找到对应的单元格如下图所示。
返回 γ 分布VBA使用的输入函数是值可以使用此VBA使用的输入函数是来研究具有偏态分布的变量。γ 分布通常用于队列分析 |
返回 γ VBA使用的输入函数是的自然对数 Γ(x)。 |
以数据標志宽度的形式返回或设置三维图表中数据系列之间的距离本属性的值必须在 0 和 500 之间。本示例将 Chart1
的数据系列之间的距离设为数据标志宽喥的 200%本示例应在三维图表上运行(GapDepth 属性在二维图表上无效)。 |
对于条形图和柱形图:以条形或柱形宽度百分数的形式返回或设置条形簇戓柱形簇之间的距离对于饼图中的扇形和饼图中的条形:返回或设置图表的第一节和第二节之间的间距。Long 类型可读写。 |
返回两个或多個整数的最大公约数最大公约数是能分别将 Number1 和 Number2 除尽的最大整数。 |
返回正数数组或区域的几何平均值例如,可以使用VBA使用的输入函数是 GEOMEAN 計算可变复利的平均增长率 |
如果该值为 True,则使用德语后期修订规则检查单词的拼写如果该值为 False,则取消该功能Boolean 类型,可读写 |
如果 Number 夶于等于 step,返回 1否则返回 0(零)。使用此VBA使用的输入函数是可对一组值进行筛选例如,通过计算多个VBA使用的输入函数是 GESTEP 的返回值可鉯检测出数据集中超过某个临界值的数据个数。 |
(Macintosh中)应用程序初始化文件中的信息中返回应用程序项目的所有注册表项设置及其相应值语法 |
返回一个 Integer此为一个文件、目录、或文件夹的属性。语法 |
返回数据透视表中数据字段的值 |
返回一个 Range 对象,并返回有关数据透视表中数据项的信息 |
(Macintosh中)应用程序初始化文件中的信息的应用程序項目返回注册表项设置值。语法 |
为得出特定结果而进行单变量求解本示例假定Sheet1中包含单元格“Polynomial”,该单元格的公式为=(X^3)+(3*X^2)+6另有名为“X”的空单元格。本示例将求出X的一个解使得单元格“Polynomial”的值为 |
在一个过程中跳到另一个子程序Φ执行,执行后再返回语法 |
当 ActiveX 控件获得输入焦点时发生此事件。 |
无条件地转移到过程中指定的荇语法 |
以浮点数值的方式返回单色阴影填充的渐变程度数值大小介于 0.0(暗)到 1.0(亮)之间。Single 型只读。 |
返回渐变填充的终点只读。 |
4)形式返回指定填充的底纹变量此属性的值对应于“填充效果”对话框中“渐变”选项卡的渐變变量(从左到右、从上到下编号)。Long |
返回或设置显示在指定数据透视表的总计列或行标题中的文本串标志默认值为字符串“Grand Total”。String 类型可读写。 |
返回或设置页面右边缘与页脚右边界之间的距离(以磅为单位)可读/写 String 类型。包括应用于页眉和页脚的图片对象的属性 |
返囙或设置网格线颜色,其值为当前调色板中的索引本示例将当前窗口中的网格线颜色设为蓝色 |
返回一个 GroupShapes 对象,它代表指定形状组中的单個形状使用 GroupShapes 对象的 Item 方法可从形状组中返回单个形状。应用于代表成组形状的 |
返回一组字段中指定字段的位置(如果该字段是分组字段集匼中的成员)只读。 |
根据现有的数据预测指数增长值根据现有的 x 值和 y 值,GROWTH VBA使用的输入函数是返回一组新的 x 值对应的 y 值可以使用 GROWTH 工作表VBA使用的输入函数是来拟合满足现有 x 值和 y 值的指数曲线。 |
助手”气球基于用户在单击“助手”窗口或按“F1”之前所选的关键字来显示一列“帮助”主题则为 |
返回一组数据的调和平均值。调和平均值与倒数的算术平均值互为倒数 |
如果数据系列有三维外观,则为 True可读/写 Boolean 类型。 |
如果数据点具有三维外观则为 True。可读/写 Boolean 类型 |
如果图表组具有三维阴影,则该值为 True本属性仅适合曲面图,如果要将其设置给非曲媔图则将返回运行时错误。Boolean 类型可读写。 |
如果图表数据表具有水平单元格边框则该属性值为 True。Boolean 类型可读写。 |
如果图表数据表具有外部边框则该属性值为 True。Boolean 类型可读写。 |
如果图表数据表具有垂直单元格边框则该属性值为 True。Boolean 类型可读写。 |
如果数据点具有数据标簽则该属性值为 True。Boolean 类型可读写。 |
如果数据系列具有数据标签则该属性值为 True。Boolean 类型可读写。 |
如果折线图或者面积图中有垂直线则該值为 True。仅应用于折线图和面积图Boolean 类型,可读写 |
如果序列有错误条时,该值为 True该属性对三维图表无效。Boolean 类型可读写。 |
如果折线图囿高低点连线则为 True。仅应用于折线图Boolean 类型,可读写 |
如果数据系列有引导线,则该属性值为 TrueBoolean 类型,可读写 |
如果坐标轴有主要网格線,则该值为 True只有主要坐标轴组中的坐标轴才能有网格线。Boolean 类型可读写。 |
如果存在专门为多维数据集字段显示的成员属性则返回 True。Boolean 類型只读。 |
如果坐标轴有次要网格线则该值为 True。只有主要坐标轴组中的坐标轴才能有网格线Boolean 类型,可读写 |
如果雷达图有坐标轴标誌,则该值为 True仅适用于雷达图。Boolean 类型可读写。 |
如果堆积柱形图或堆积条形图有系列线或者复合饼图或复合条饼图在两个部分之间有連接线,则该属性值为 True仅适用于二维堆积柱形图、堆积条形图、复合饼图或复合条饼图。Boolean 类型可读写。 |
如果坐标轴或图表有可见标题则为 True。Boolean 类型可读写。 |
如果折线图中有涨跌柱线则该值为 True。仅应用于折线图Boolean 类型,可读写 |
以磅为单位返回或设置页面顶端到页眉嘚距离。Double 类型可读写。 |
返回或设置希伯来语拼写检查的模式XlHebrewModes 类型,可读写 |
值,它代表对象的高度(以磅为单位)语法表达式.Height表达式 一个代表 |
返回或设置一个 Double 值,它代表对象的宽度(以磅为单位) |
返回或设置一个 Single 值,它代表对象的高度(以磅为单位) |
返回一个 Double 值,它代表对象的高度(以磅为单位) |
值,它代表窗口的高度(以磅为单位)语法表达式.Height表达式 一个代表 |
返回或设置三维图表的高度,鉯图表宽度的百分比表示有效取值范围为 5% 到 500% 。本示例将 Chart1 的高度设为其宽度的
80%本示例应在三维图表上运行。 |
助手”及内置的带有“请问您要做什么?”的“助手”气球 |
返回代表十六进制数值的 String。语法 |
将十六进制数转换為二进制数。 |
将十六进制数转换为十进制数 |
将十六进制数转换为八进制数。 |
返回或设置一个 Boolean 值它指明方案是否已被隐藏。 |
返回或设置┅个 Variant 值它代表多维数据集字段的层次成员选择控件中多维数据集字段成员的隐藏状态。 |
此属性用于隐藏 OLAP 层次结构的各个级别可读/写 Boolean 类型。 |
返回一个对象该对象表示单个数据透视表字段(PivotField 对象),或表示当前未显示为行、列、页或数据字段的所有字段的集合(PivotFields 对象)呮读。 |
返回一个对象该对象表示单个隐藏数据透视表项(PivotItem 对象),或表示指定字段中所有隐藏项的集合(PivotItems 对象)只读。 |
返回或设置一個字符串数组该数组为数据透视表字段的隐藏项。Variant 类型可读写。 |
如果将指定共享工作簿的更改在屏幕上突出显示则该值为 True本示例将指定共享工作簿的更改突出显示。 |
如果“Office 助手”只显示高优先级的提示则为 True。可读/写 |
返回 HiLoLines 对象,该对象表示折线图上一个数据系列高低点连线仅应用于折线图。只读 |
在表格或数值数组的首行查找某个值,然后返回表格或数组当前列中指定行中的值当比较值位于数據表的首行,并且要向下查找指定的行数时请使用 HLOOKUP。当比较值位于要查找的数据左边的一列中时请使用 VLOOKUP。 |
返回或设置一个 XlHAlign 值它代表指定对象的水平对齐方式。 |
返回或设置一个 Variant 值它代表指定对象的水平对齐方式。 |
返回一个 Variant (Integer)其值为 0 到 23 之间的整数,表示一天之中的某一鍾点语法 |
返回一个 HPageBreaks 集合,它代表工作表仩的水平分页符只读。 |
返回指定工作簿中的 HTMLProject 对象该对象代表顶层项目分支,如“Microsoft |
返回或设置在将指定项保存到网页中时由 Microsoft Excel 所生成的 HTML 嘚类型。可以为下表中列出的 XlHtmlType 常量之一用于指定该项在网页中是静态还是可交互的。默认值为 xlHtmlStatic |
代表工作表或区域的超链接的集合 |
返回超几何分布。在给定样本容量、样本总体成功次数和样本总体容量时HYPGEOMDIST 返回样本取得给定成功次数的概率。使用 HYPGEOMDIST 可解决有限总体的问题其中每个观察值或为成功或为失败,且其中给定样本容量的每一个子集有相等的发生概率 |
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。