Excel VBA对象变量
发布时间:2023-04-18 10:17:24
们已经了解了Excel VBA的变量,知道了如何给变量赋值。下面,我们详细谈谈Excel中很重要的对象变量。
变量除了可以表示数值、字符串等外,还可以表示一个工作簿、一张工作表、一个单元格,这就是对象变量(Object类型的变量)。
声明对象变量
对象变量的声明没有什么特殊之处,仍然是使用Dim语句或者Public语句。下图1是一些常用的对象声明示例:
图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所示。
图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
猜你喜欢
- 通过在Word中插入段落边框,可以使相关段落的内容更加醒目,从而增强Word文档的可读性,那么Word怎么为段落添加边框呢?下面小编就为大家
- 我们在word 2010中设置了段落格式之后,也许用户还需要使word文档中的段落排版层次更加分明,这时不妨试试在段落前添加项目符号或编号。
- 写长篇论文时都需要有一页专门设为目录,很多人不知道这个目录是可以自动生成的。给标题设置大纲级别,有1级标题,2级,3级等级别。设置后引用标题
- 1、启动Word2007,打开资产标签的模板,点击菜单栏--邮件--选择收件人,使用现有列表。 2、弹出选取数据源
- Word中插入行号的方法。最近投一篇稿子,杂志要求在Word中插入行号。以前真没遇到过,经过搜索发现解决Word插入行号的方法。Word中插
- Excel2021怎么自动插入序号?这篇文章主要介绍了excel2021自动输入序号教程,需要的朋友可以参考下excel2021自动输入序号
- excel单元格内换行问题,一直是工作中的热议话题,那么在Excel的同一个单元格中怎么换行?下面小编就为大家详细介绍一下,不会的朋友可以参
- 我们在使用Word制作表格时,常常需要为整张表格或某些单元格设置背景颜色或底纹背景。那么如何设置呢?在下面就由小编给大家分享下在word中设
- 用户的许多操作都可能导致PC设备的CPU使用率达到100%,其中便包括了设备中的启动项过多。那么,在Win10 1909系统中怎么关闭多余启
- Excel2019函数mid怎么用?这篇文章主要介绍了Excel2019函数mid使用方法,需要的朋友可以参考下在使用excel处理数据时,
- Office 2010出现在微软MSDN网站提供与付费订户下载,现已有网友下载并上传至网盘,在此分享MSDN Office Professi
- 人往高处走,水往低处流,机器当然是越高级越好。win10系统要想获得更好的音效,大家开始关注起杜比音效了。下面我们就对大家来次分析,看看是否
- 我们常常使用Office中的Word、Excel等工具,但是你是否注意到,在这些工具中都保存了你计算机的很多隐私呢?比如你打开一个Word文
- 今天小编为大家分享word2003更改最近使用的文件列表显示的数量方法,对于有需要的朋友可以参考本文,希望能对大家有所帮助在word2003
- U盘是人们经常使用的工具,可以用于复制、储存资料,还能重装系统,非常方便。但是在使用过程中,也会出现各种情况,如插入U盘后电脑屏幕出现2个U
- 不管是Word入门新手还是老手,相信这个word文档数字转换大写的小技巧会让你更加熟练Word,操作起来得心应手!1.数字转换成大写在一些表
- 下面我们将介绍IF函数。这是在公式中经常要使用的一个函数,为公式提供判断功能。IF函数判断是否满足某个条件,如果满足返回一个值,如果不满足则
- 在word中,设置表格线条的方法:1、选中表格;2、单击页面布局----页面边框按钮;3、弹出边框和底纹对话框,选择边框选项卡,在样式处选择
- 工作中经常会使用代理服务器,代理服务器有很多作用,可以改善网络速度,隐藏IP地址等等。由于win10系统界面不熟悉,很多用户不清楚win10
- word的强大功能给我们带来了很多便利,你知道么,输入日期和时间也可以通过点点鼠标就能轻松搞定,怎么做呢?下面为大家分享word怎么插入日期