Excel VBA对象变量

时间:2023-04-18 10:17:24 

们已经了解了Excel VBA的变量,知道了如何给变量赋值。下面,我们详细谈谈Excel中很重要的对象变量。

变量除了可以表示数值、字符串等外,还可以表示一个工作簿、一张工作表、一个单元格,这就是对象变量(Object类型的变量)。

声明对象变量

对象变量的声明没有什么特殊之处,仍然是使用Dim语句或者Public语句。下图1是一些常用的对象声明示例:

Excel VBA对象变量

图1

注意:当我们不知道对象变量的具体类型时,可以将其声明为通用的Object类型。

给对象变量赋值

对象变量的赋值与普通变量的赋值不同,必须使用关键字Set。

例如,使用下面的语句将变量rng声明为Range对象:

Dim rng As Range

然后,使用下面的语句给变量rng赋值:

Set rng = Worksheets(“Sheet1”).Range(“A1:B2”)

现在,我们就可以使用变量rng来代表工作表Sheet1中的单元格区域A1:B2。

此时,再运行代码:

rng.Value = “示例”

将在单元格区域A1:B2中输入“示例”文本,如图2所示。

Excel VBA对象变量

图2

注意:在给对象变量赋值时,一定要加上关键字Set。很多代码错误往往就是在给对象变量赋值时没有使用Set。

给对象变量赋值的通用结构为:

Set 对象变量名= 对象

使用对象变量的好处

仍然使用上面给单元格区域A1:B2输入文本“示例”的例子。如果不使用对象变量,那么将使用下面的代码来操作该区域:

Sub test()

Worksheets(“Sheet1”).Range(“A1:B2”).Value = “示例”

Worksheets(“Sheet1”).Range(“A1:B2”).Font.Bold = True

Worksheets(“Sheet1”).Range(“A1:B2”).Font.Size = 19

Worksheets(“Sheet1”).Range(“A1:B2”).Interior.Color =vbYellow

End Sub

该段代码首先在工作表Sheet1的单元格区域A1:B2中输入文本“示例”,然后将字体加粗,字号大小调整为19号,将单元格背景色设置为黄色。

让我们再来看看使用对象变量达到同样效果的代码:

Sub testUpdate()

Dim rng As Range

Set rng =Worksheets(“Sheet1”).Range(“A1:B2”)

rng.Value = “示例”

rng.Font.Bold = True

rng.Font.Size = 19

rng.Interior.Color = vbYellow

End Sub

代码显得更简洁,似乎运行的速度也加快了。因此,我们总结使用对象变量的好处有:

可以很好地简化代码,使代码更容易阅读。

可以提高代码的执行速度。在多次引用相同的对象时,使用对象变量后,点运算符的数目明显减少,用于解析对象引用的时间也会减少,自然就提高了代码的执行速度。

方便地操作其他工作表或工作簿中的数据。例如,在操作当前工作表的数据时,我们要复制或使用其他工作表中的数据,此时,可以将其他工作表中的数据区域赋值给对象变量,就可以方便地使用了,而不用担心代码究竟在操纵哪个工作表。

方便创建新的对象实例。例如下面的代码:

Sub CreateNewWorkbook()

‘声明工作簿和工作表对象变量

Dim wb As Workbook

Dim wks As Worksheet

‘创建新的对象实例并赋值

Set wb = Workbooks.Add

Set wks =wb.Worksheets(“Sheet1”)

‘对工作表进行操作

wks.Name = “我的工作表” ‘重命名工作表

wks.Range(“A1”)= “Test” ‘给工作表中的单元格A1填充值

End Sub

标签:excel图表制作,excel常用函数,excel数据透视表,Excel教程
0
投稿

猜你喜欢

  • win10系统电源高性能模式怎么开?

    2023-12-15 20:18:27
  • 如何显示PowerPoint2007图表的涨跌柱线

    2023-10-27 08:32:31
  • 时间规划局怎么制作倒计时视频?时间规划局制作倒计时视频的方法

    2023-05-08 05:05:56
  • 不可不知的Win10黑科技 从人工智能到图像识别

    2023-09-20 08:37:39
  • inetinfo.exe是什么进程?及inetinfo.exe病毒等问题介绍

    2023-12-10 17:32:05
  • wps文字如何改变图形位置和大小

    2022-02-24 05:54:56
  • Win11安装卡住了怎么解决?Win11安装卡住了解决办法

    2022-11-03 21:07:26
  • word批量导出图片 Word2007中如何将图片批量导出

    2023-10-25 19:55:15
  • Win7系统提示依赖服务或组无法启动错误?

    2022-03-27 20:13:57
  • WPS 如何在Excel中使用文本函数提取人员信息

    2022-08-17 23:29:10
  • word如何插入页码呢?word插入页码方法介绍

    2022-07-06 03:19:01
  • ofd文件如何转换成pdf格式?ofd文件转换成pdf格式的方法

    2023-07-06 13:50:35
  • Office制作的PPT转成Word文档的两种方法

    2023-05-24 18:14:53
  • Win10联想笔记本禁用集成显卡教程

    2022-01-28 13:44:40
  • word怎么统计行数

    2022-03-13 05:29:13
  • excel图表如何改变复选框颜色?

    2023-03-14 23:49:40
  • Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法

    2023-03-02 13:59:43
  • Win10 10049版登录时蓝屏怎么办?

    2022-04-15 02:10:03
  • excel中知道一个日期,怎么用函数计算年份

    2023-11-19 23:21:13
  • 电脑关机快捷键怎么设置-电脑关机快捷键设置方法介绍

    2022-03-23 20:00:20
  • asp之家 电脑教程 m.aspxhome.com