excel图表VBA 神奇的句点
发布时间:2023-01-03 01:29:46
阳光花园是一个很大的住宅小区,布置有25栋楼房,每栋楼由高18层的4个单元楼组成,每个单元楼住有2户,每户按楼层编有门牌号。梦梦同学住在9栋4单元601室。
今天,老师要到梦梦家里家访。进入阳光花园小区后,老师要先找到9号楼,再找到4单元,乘座电梯到6楼,找到601室,就到了梦梦家里。
简化一下表示,我们用句点来代替图中的箭头号,那么找到601室就可以表示为:
阳光花园.9号楼.4单元.601室
那么,在Excel VBA中,我们怎么才能找到工作簿Book1.xlsm中的工作表Sheet1中的单元格A1呢?经过前面的系列介绍,我们知道单元格A1在代码中的表示为:
Range(“A1”)
而工作表Sheet1属于Worksheets集合,在代码中的表示为:
Worksheets(“Sheet1”)
工作簿Book1.xlsm属于Workbooks集合,在代码中的表示为:
Workbooks(“Book1.xlsm”)
根据Excel对象层次模型,我们要找到单元格A1,就要经过下所示的路线:
同样,我们用句点来代替图中的箭头号,那么在VBA中找到单元格A1可以表示为:
Application.Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A1”)
实际上,这就是VBA中引用对象的方式,即通过使用句点层层限定直至达到要引用的对象。
由此,我们引出VBA中引用对象的一条规则:
规则1:对象.(对象…对象).对象
在对象模型中,处于被引用对象上层的对象位于左侧,被引用的对象位于最右侧。
实际上,我们通常就是在Excel中操作,所以可以省略掉Application对象限定,即引用单元格A1的代码可以简化为:
Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A1”)
如果我们只是在工作簿Book1.xlsm中操作,将该工作簿作为当前工作簿,那么代码可以进一步简化为:
Worksheets(“Sheet1”).Range(“A1”)
如果工作表Sheet1为当前工作表,代码不会应用到其它工作表中,那么代码再次简化:
Range(“A1”)
这代表在当前活动工作簿中的当前工作表中的单元格A1。
这就好比我们都在一个办公楼里工作,当你问我现在在哪里时,如果我正在601室,那么我只需回答在601室就够了,因为大家彼此都知道,而无须回答我在××区××写字楼××层××室这么繁锁了。
由此,我们又可以引出VBA中引用对象的一条规则:
规则2:若对象就是当前对象,则可以省略句点左侧的对象限定,简化代码。
注意规则的前提是,我们引用的对象就是当前活动对象,如果不是当前活动对象,就会产生不想要的结果或错误[jf1] 。例如,当前活动工作表为Sheet2,而我们要找的是工作表Sheet1中的单元格A1,此时,如果只写代码:
Range(“A1”)
它代表的是工作表Sheet2中的单元格A1。要找到工作表Sheet1中的单元格1,必须在左侧加上限定:
Worksheets(“Sheet1”).Range(“A1”)
省略Application对象限定
在编写代码时,对于Application对象的那些返回对象的属性,我们常常省略掉Application对象限定,例如前面的文章中的ActiveWorkbook属性、ActiveWindow属性、ActiveCell属性、Cells属性、Selection属性、Rows属性、Columns属性,等。只需要直接以属性开头进行引用,例如,代码:
ActiveCell
代表当前活动工作表中的活动单元格。


猜你喜欢
- 电脑在安装软件的时候,会一直提示无法访问您使用的功能所在的网络位置,这是什么问题?最近有用户反映,在电脑上安装软件时经常会出现无法安装或者安
- 目前输入法软件非常多,很多win7系统的用户比较喜欢使用搜狗输入法;而最近用户在使用win7系统时发现搜狗输入法打字看不到选字框,这该如何解
- word的页面设置在哪里?大家在写完文档打印完以后,是不是会觉得文字结构很奇怪,一堆纸乱糟糟的,也不知道哪张在前哪张在后。今天,就让我们一起
- 有很多的用户不知道在mac上怎么添加其他的词典资源,针对Mac怎么添加词典的问题,本文就为大家图文介绍Mac词典词库扩充的方法有很多的用户不
- 打开所有的.xls文件都是空白的,怎么办?近段一台电脑出现,.xls文件无法直接双击打开了。今天,小编就教大家在Excel中表格进行打开文件
- 如何使用excel公式实现自动排序?问:我在一列单元格区域中的数字经常变化,Excel能否在每次变化后都对这些数据自动排序。例如,单元格区域
- 彭博社(Bloomberg)的 Mark Gurman 在一份专注于即将推出的第三代 AIrPods 和第二代 AIrPods Pro 的报
- Win8每过一段时间就会推出一些补丁,用户更新时并不知道有没有漏掉一些重要补丁,那么就可以通过查看Win8更新历史记录来查看已安装Win8补
- Win10专业版/家庭版怎么使用Windows To Go功能?有网友求助想要使用Windows To Go功能,但可能下错了版本,无法在系
- 对于Win10 1909 KB5003212补丁包,部分用户想了解下此次补丁包主要针对操作系统构建方面进行了哪些优化改进,具体内容请看下文详
- 在使用win10系统去玩耍dota2的时候,我们经常会遇到一些问题,就是data游戏帧数非常的低,甚至导致我们不能够正常的进行玩耍,那么这款
- Win10 Mobile预览版14951上手体验和演示视频 之前为大家介绍了Win10 Mobile预览版14951更新修复内容,今天小编继
- 在Word2010文档中,通过拖动表格的边框调整行、列、单元格或整个表格的尺寸是最简单的改变表格尺寸的方式。不过这种调整方式仅适用于对尺寸要
- 在微软系统中有一个窗口排列,该功能可以帮助用户在开启多窗口时以不同方式排列然后同时显示,能够让用户更清晰的观看窗口内容,那么Win7系统中的
- 在使用Win 10操作系统并登录到系统帐户后,如果由于需要而不得不启动当前登录到Microsoft帐户的操作怎么办。对于这个问题,我认为他可
- excel表格怎么制作WIFI信号百分比图表?excel中想要制作一个类似以wifif信号的图表,该怎么制作呢?下面我们就来看看详细的教程,
- 现在许多网站的内容中都会带有超链接。如果看中自己喜欢的内容,想复制到Word文档中保存起来,但是复制进Word里才发现,把网页内容中的超链接
- 很多人喜欢听音乐,在生活中离不开音乐,这样我们就需要一款好的音乐软件,QQ音乐就是一款非常实用的音乐软件。使用QQ音乐可以关注一下好友,这样
- 微信聊天记录删除了怎么恢复教程2022分享。我们现在工作生活都离不开微信。有的时候我们的一些重要数据保存在聊天记录中,但是因为自己更换了手机
- 在使用电脑的操作过程中电脑会产生很多的空的文件夹或者文件,用户在清理这些桌面上的文件夹时候提示无法删除,那电脑桌面上空白文件夹删除不了怎么解