百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

VBA中的常用单元格引用方式

yuyutoo 2025-01-11 18:27 2 浏览 0 评论

诸君好~

VBA编程经常和“对象”打交道,其中最频繁的对象大概就是“单元格”了。今天我们就来聊一下单元格的各种引用方式,比如单个单元格、行列、连续和不连续的单元格区域、相连的和交叉的单元格区域等等……。

1,当前表所有的单元格

Cells.ClearContents 清空当前表所有单元格的内容


2,当前活动单元格

ActiveCell.Value = "看见星光"

活动单元格的值等于聪明可爱的看见星光。


3,单个单元格

例如A1单元格,最常用的方式有3种:

[a1]

Range("a1") 等同于 Range("a"&1)

Cells(1,1) 等同于 Cells(1,"a"),也就是说也可以用字母表示。

三种方式里书写最简便的是[a1],运算效率最高的是cells(1,1),自带方法属性的是Range,最后,后两种方式支持使用变量。


4,连续单元格区域

比如选取A1:B10单元格区域……

[a1:b10]

Range("a1:b10") 等同于 Range("a" & 1 & ":b" & 10)

Range("a1","b10") 等同于 Range(cells(1,1),cells(10,2)

Range("a1").Resize(10,2),意思是以[A1]为起点,向下取10行,向右取2列……

第一种方法输入最简便,但不支持变量。第二种方法支持变量,但书写麻烦,第三种方法比较少用,第四种Resize常用,它也可搭配数组使用,以便将数组结果写入单元格区域。


5,不连续单元格区域

比如选取A1:A10,C1:C10,F1:F10三个单元格区域。

Range("a1:a10, c1:c10, f1:f10")

Union(Range("a1:a10"), Range("c1:c10"), Range("f1:f10"))

第一种方法是直接选取,但不支持变量,缺乏足够的灵活性。第二种union是必会语句,常用于搭配变量进行单元格高效批量操作,例如合并单元格处理等等。


6,行和列

比如第一行

Rows(1)

Range("a1").EntireRow

Rows("1:2") 第1和2行

比如第一列

Columns(1)

Columns("a:a")

Range("a1").EntireColumn


7,数据相连的单元格区域

例如以A1为点,数据相连的单元格区域。

Range("a1").CurrentRegion.Select

如果一个表格的数据足够规范(字段和记录不缺失),我们通常使用CurrentRegion来选取整份表格的数据。


8,当前表已使用的单元格区域

ActiveSheet.UsedRange.Select

这里需要说明的是,一张表格,即便从未输入任何数据,它依然存在UsedRange,也就是默认的A1单元格。因此……使用UsedRange并无法直接判断一张表格是否空白……

以下语句清除当前表格除了第一行以外的内容,常用于保存标题,清除明细记录。

ActiveSheet.UsedRange.Offset(1).ClearContents


9,交叉的单元格区域

比如选取当前表c:d列已使用的单元格区域,也就是C:D列和当前表已使用的单元格区域交叉的部分……

Intersect([c:d], ActiveSheet.UsedRange).Select


10,以某个单元格或区域偏移取值

例如已知变量K,并假定K=10

以A1单元格为起点,向下移动K行后的指定单元格:

[a1].Offset(K, 0).Select

注意,该语句选取A11单元格,不是A10。

Offset第二参数可以省略,省略意味为0,以上语句也可以简写成:

[a1].Offset(K).Select

另外,Offset参数可以为负数。

……

以A1单元格为起点,向下扩展K行1列后的指定单元格区域:

[a1].Resize(k, 1).Select

注意,该语句选取A1:A10单元格区域,不是A1:B10。

Resize第二参数也可以省略,但省略意味为1,以上语句可以简写成:

[a1].Resize(k).Select

Resize的参数不能为0(选取的单元格区域不可能是0行或0列)或负数。


11,特殊单元格定位

类似于基础操作中的定位功能(快捷键F5或Ctrl+G)。

比如定位一张表的错误值单元格:

Cells.SpecialCells(xlCellTypeFormulas, 16).Select

再比如快速删除A列单元格为空白的记录行:

Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

相关语句均可以通过录制宏获取,初学阶段并不需要刻意去记忆。



图文制作:看见星光

相关推荐

网站制作的流程是什么呢?简单大概的流程

关注我!了解更多网站建设的小干货~如今,随着网络时代的全面到来,网站在人们的生活和工作中发挥着极其重要的作用。网站制作的发展使更多的人加入了这个行业。如果你想掌握网站制作的知识,你可以在学校或网上学习...

一款谷歌(Google)打造的广告网页设计制作软件

GoogleWebDesigner是由谷歌(Google)打造的一款广告网页设计制作软件,它能够帮助从事于广告网页设计工作或是有这方面需求的用户更加有效快速的进行完成相关的行业设计工作,软件可以支...

普通网站如何制作一个网站?

对行外人来讲,在预备做一个网站项目时,最想了解的无非就是网站制作的悉数流程。网站制作是要有计划的,事先策划好才能更快更好的完成。网站的几个基本组成元素:域名+空间+程序+模板+维护经验+日常管理.网站...

用纯Python就能写一个漂亮的网页,再见HTML

再见HTML!用纯Python就能写一个漂亮的网页我们在写一个网站或者一个网页界面的时候,需要学习很多东西,对小白来说很困难!比如我要做一个简单的网页交互:天啊,听听头都大呢!其实我就给老板做一个...

HTML表单4(form的action、method属性)——零基础自学网页制作

表单的工作过程表单的信息发送与处理过程可以简单的进行图示,如下图。以注册会员为例,用户在自己的电脑上打开相应的注册表单页面填写信息,完成填写后点击提交按钮,也就是图中1所示过程。这时浏览器会将这些信息...

官网网站设计网页制作模板建站前端自适应响应式网站仿站门户

案例背景航科慧联无人机搜索雷达能够在多种天气下检测到无人机的入侵、并获得目标的距离、方向和高度等具体信息,是无人机反制作战中的关键设备。航科慧联无人机搜索雷达能够在多种天气下检测到无人机的入侵、并获得...

软网推荐:在线制作软件图标

在制作PPT演示、软件、网页或其他程序时,我们往往需要用到一些个性化的图标。现在,即便是不安装任何软件,也可以上网在线制作自己需要的图标。首先访问如下制作网址:http://www.rw-design...

自定义跳转的h5网页如何制作?

文章来源:墨鹊微站...

网页如何制作?这几点要知道

这是一个个性张扬的时代,也是一个动手能力和动脑能力都比较强的时代,因此很多人对于能够自己动手完成的东西,都不太想假手于人。于是网页制作成了各大搜索引擎里面排名比较靠前的关键词之一。想要知道网页如何制作...

手机端网站简单制作教程,怎么快速制作一个移动端的网站

想要创建一个手机端的网站,需要有域名、已经完成网站页面的开发设计,零基础朋友不懂代码技术,直接在线套用乔拓云里面的网站模板来开发是比较简单可行的,进入乔拓云网,复制网站模板编辑网站的内容,注册域名后绑...

几张动图教你轻松了解Dreamweaver做网页

施老师:当今可是互联网时代,人们的生活、社交离不开互联网,那么不管你是网页设计师,还是销售达人,还是个体户,总必不可少的要在网上呈现一些页面给客户看,这个就是让你做网页,而Dreamweaver是做网...

用Deepseek制作网页版的汉诺塔游戏保姆级教程

在deepseek中输入:“帮我做一个网页版的汉诺塔演示游戏,游戏包含2层、3层、4层、5层的汉诺塔游戏演示,制作自动求解演示按钮,点击按钮就可以生成出步数,同时自动演示最优解动画。”...

JS制作网页版计算器

大家晚上好,我是洁哥,抱歉今天有点晚了,但是洁哥不会缺席哦,今天我们来看一个JS实现网页版计算器的例题,先来看一看出来的效果吧(123+123=246)(123-123=0)(123*123=1512...

网页制作流程哪几步

在数字化时代,网页制作成为企业和个人展示形象、传递信息的重要方式。但是,许多人对于网页制作的流程仍感到困扰。为了解决这一问题,我们将深入探讨网页制作的关键步骤,助您更好地理解和应用这一过程。第一步:需...

这4个设计技巧,教你做好个人网页制作

随着互联网发展,个人建站已经不是什么稀奇事,学生、求职者、插画师、摄影师、作家……都可以制作个人网站,用来展示自身形象,或者吸引粉丝。那么如何做好个人网站呢?在不懂设计和技术知识的情况下,个人网页制作...

取消回复欢迎 发表评论: