手机版

excel vba指令对象

时间:2021-09-17 来源:互联网 编辑:宝哥软件园 浏览:

至此,我们已经了解了对象、属性和方法的基本概念,Excel的对象模型和VBA常见对象的表示,以及如何使用对象的属性和方法,这是Excel VBA编程最基本的部分。熟悉这些知识对进一步学习VBA程序设计非常重要。

为了进一步巩固所学的知识,我们引用Excel老师(Bill Jelen)《VBA and Macros for Microsoft Excel》一书中的例子,稍加修改,再次直观地讲解相关概念和表示对象的基本语法结构。

假设我们用VBA踢球,那么踢球的指令应该类似于下面这样:

“踢球”(“踢球”中文)。

这是我们平时说话的方式,意思很明确。句子中有动词(踢)和名词(球)。记住前面系列文章中的VBA代码,它也包括动词(添加)和名词(工作表)。

虽然我们通常用来踢足球的指令听起来很自然,但VBA代码并不是这样表达的。如果你用VBA踢球,基本的语言结构应该是:

球。踢

这里,名词(球)在前面。在VBA,它是宾语,名词后面还有一个动词(Kick)。在VBA,就是这种方法。

这是VBA最基本的结构:

对象。方法(对象。方法)。

如果你用VBA写程序,你必须习惯这种结构。

让我们假设一下。在绿色的草地上,你面前有五个球,分别是足球、篮球、棒球、保龄球和网球。现在,你给足球运动员一个指示:

踢球(中文:踢足球)

如果你只告诉他踢足球。Kick),但是你不知道打哪个球,可能他会打离他最近的那个,比如保龄球,这显然会造成问题。

对于任何名词或物体,在VBA,都会有一种物体集合。看Excel,可以一行,也可以多行;可以有一个单元格,也可以有多个单元格;您可以有一个或多个工作表。对象集合和对象集合之间的唯一区别是,需要在对象名称后添加一个代表复数的“s”,例如:

工作簿变成了工作簿。

工作表变成工作表。

球变成球。

当提到一组物体时,有必要告诉VBA具体要操作的物体。可以使用不同的方法。

一种方法是使用数字来表示特定的对象:

球(2)。踢

然而,这种方法虽然可以达到目的,但也很危险。例如,代码一开始可能工作得很好,但是如果有人在某个时候调整了球的顺序,球(2)。踢可能变成另一个球。

另一种方法是使用名称来指示特定对象,这是一种更安全的方法:

球(“足球”)。踢

明明知道是踢足球。

在Excel VBA中,对于大多数动词或方法,都有参数告诉如何执行动作,这些参数相当于副词。你可能想把足球踢到左边,用力踢:

球(“足球”)踢球方向:=左,力量:=硬

大多数方法都有大量参数来告诉程序如何执行该方法。

查看VBA代码时,当您看到冒号和等号的组合时,这意味着参数用于描述动词如何执行动作。(对于属性,进一步描述了形容词的特征。)

有时,一个方法可能有10个参数,其中一些是可选的。也许Kick方法有一个Elevation参数。使用以下代码:

球(“足球”)踢球方向:=左,力量:=硬,高度:=高

这里很混乱。每个方法的参数都有一个默认顺序。如果碰巧知道参数的位置,就不能使用参数的名称。下面的代码相当于上面的代码:

球(“足球”)。向左踢,用力,高

这也可能影响我们对代码的理解。没有冒号和等号的组合,参数的意义就没有那么明显了。当然,知道参数的顺序可以理解其含义,但我们不可能记住大多数参数的所有顺序。

左、硬和高的上述例子很容易理解,但是当使用以下参数时:

艺术字。添加左侧:=10,顶部:=20,宽度:=100,高度:=200

将其缩写为以下代码:

艺术字。加10,20,100,200

这是令人困惑的!这也是一个有效的代码,但是除非你知道Add方法的默认顺序是Left、Top、Width和Height,否则这个代码的含义很难理解。

更复杂。用户可以在代码中指定参数的名称,并省略其他参数的名称。比如用户在没有指定参数名称的情况下,在参数的默认位置设置一个参数,然后突然带来一个指定名称的参数,这个参数不一定在默认位置。如果你想向左踢高,不考虑力量(使用默认力量),那么下面两种说法是等价的:

球(“足球”)。踢腿方向:=左侧,高度:=高

球(“足球”)。向左踢,高度:=高

一旦指示了参数名称,下列代码需要指示参数名称。

灵活的参数表示方便,但也带来了问题!

对象属性的参数也有类似的规则。

有些方法很简单。例如,要模拟按F9键(即重新计算工作表),可以使用以下代码:

申请。计算

有些方法可以执行一个操作并创建一个新对象。例如,以下代码添加了一个工作表:

工作表。在:之前添加=工作表(1)

您可以将Add方法创建的新对象分配给变量,在这种情况下,您必须将参数括在括号中:

设置我的工作表=工作表。添加(在:=工作表(1)之前)

类似于很多关于对象的书,名词一般代表对象,动词代表方法,形容词代表属性。如前所述,在代码中:

活动单元格

表示活动单元格。

现在,我们希望将活动单元格的颜色更改为黄色,并使用其属性“内部”。颜色索引代码如下:

ActiveCell。内饰。颜色指数=6

虽然代码中使用了两个句号,看起来有点复杂,但它的结构仍然是“名词指向其他内容”,这次是Object。财产

不同之处在于,在分配属性时,等号前没有冒号。

对象的属性总是被设置为等于某个东西,或者属性的值是为变量或其他对象的属性获得的。

例如,要将当前单元格的颜色设置为单元格A1的颜色,代码如下:

ActiveCell。内饰。颜色指数=范围(“A1”)。

内饰。颜色索引是一个属性。通过更改属性值,可以相应地更改对象的表示。您可以通过更改形容词对单元格进行一些设置。我们通常说“将单元格设为红色”,而VBA是这样说的:

ActiveCell。内饰。颜色索引=3

版权声明:excel vba指令对象是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。