问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

excel图表快速移动单元格End属性

发布网友 发布时间:2024-07-03 01:24

我来回答

1个回答

热心网友 时间:7小时前

我是一个急性子,干什么事都希望马上能够完成,也希望马上能够知道事情的结果,去什么地方也希望马上能够到达目的地。我不知道大家是不是都跟我一样,但我知道Excel中有满足我们这些急性子人的快速功能。

下图所示为带有一组数据的工作表,活动单元格(也称为当前单元格)为单元格A1。按下组合键,当前单元格会快速移动到单元格A10;接着按下组合键,当前单元格会快速移动到单元格C10;再按下组合箭,当前单元格会快速移动到单元格C1;再按下组合箭,当前单元格又回到单元格A1。

现在,在Excel中打开宏录制器(即单击“开发工具”——“录制宏”),从当前单元格A1开始,按上面所述的方法,使用 Ctrl+方向箭组合箭快速移动单元格,即从A1移至A10再移至C10再移至C1最后回到A1,最后关闭宏录制器(即单击“开发工具”——“停止录制“)。

宏录制器录制的代码如下:

Sub 宏1()

‘ 宏1 宏

Selection.End(xlDown).Select

Selection.End(xlToRight).Select

Selection.End(xlUp).Select

Selection.End(xlToLeft).Select

End Sub

将录制的宏代码与对应的操作解析如下所示:

观察宏录制的代码和相应的解析,可以看出Selection代表当前活动单元格,单元格对象的End属性使单元格快速移动到同一列或行的末尾或者开头,其括号内的参数值指示单元格移动的方向。

End属性的语法表达式为:

Range对象.End(Direction)

返回一个Range对象,代表连续区域内的一个单元格,该单元格在该区域的末尾或开头。

说明:

Range对象代表区域内的任一单元格。也就是说,不一定是上文所演示的第一个单元格,可以是其它任何单元格。

参数Direction的取值及说明如下:

以本文开头所示的工作表为例,说明End属性的使用。

下面的语句:

Range(“B5”).End(xlUp).Select

选择单元格B1。

下面的语句:

Range(“B5”).End(xlDown).Select

选择单元格B10。

下面的语句:

Range(“B5”).End(xlToLeft).Select

选择单元格A5。

下面的语句:

Range(“B5”).End(xlToRight).Select

选择单元格C5。

注意:上面的示例均为在同一行或列中连续的单元格区域中移动,也就是说区域中没有空单元格。如果列或行中存在空单元格,那么在向下或向右移动时,End属性将单元格移动到同一列或行中空单元格之前的那个单元格;在向上或向左移动时,End属性将单元格移动到同一列或行中空单元格之后的那个单元格。(我们可以在工作表中输入一些数据,并有意在数据之间留有空单元格,然后使用Ctrl+箭头方向键试验,体会Excel是怎么快速移动单元格的)

一般,我们使用End属性查找连续单元格区域的最后一个单元格所在的行或列。

仍然以本文开头所示的工作表为例,下面的语句:

Range(“A1”).End(xlDown).Select

选择单元格A10。即列A中有数据的单元格区域的最后一个单元格。

继续!下面的语句:

Range(“A10”).End(xlDown).Select

选择单元格A1048576(如果是Excel 2003则为A65536),即列A中的最后一个单元格。换句话说,以有数据的单元格区域的最后一个单元格为起点,结合参数值xlDown(向下移)使用End属性,活动单元格将移动到工作表中该列或该行所在的最后一个单元格。呵呵,有点意思了!

再试试下面的语句(Excel 2007及以上版本):

Range(“A1048576”).End(xlUp).Select

或者是(Excel 2003及以下版本):

Range(“A65536”).End(xlUp).Select

选择单元格A10。也就是列A中有数据的单元格区域的最后一个单元格。

我们来小结一下。

类似于本文开头所示的工作表,如果列A中的单元格区域放置着连续的数据,即表中的单元格区域A1:A10,我们要找到列A中存放数据的最后一个单元格,有两种方法。第一种是从单元格A1开始使用End属性向下移至A10,即语句Range(“A1”).End(xlDown).Select。第二种是从工作表列A中的最后一个单元格开始向上移至A10,即语句Range(“A1048576”).End(xlUp).Select。

但是,如果在A1:A10中某个单元格为空(假设是单元格A5),那么语句Range(“A1”).End(xlDown).Select就不会移至单元格A10,而是移至单元格A4。所以,第一种方法不保险,仅在能确保单元格区域连续的情况下使用。通常,我们偏向于使用第二种方法,即从工作表中列中的最后一个单元格向上移,确保能移至该列中最后一个有数据的单元格上。

看看使用第二种方法选取单元格区域最后一个单元格的语句,对于Excel 2007之前或之后的版本,由于行数不同,使用的单元格也不一样:Range(“A1048576”)或Range(“A65536”)。

在本系列前面的文章中曾介绍,Application对象有一个Rows属性,可以返回工作表所在的行。该属性也可以返回工作表中的总行数,语句如下:

Rows.Count

如果是Excel 2003,则返回值65536;如果是Excel 2007及以后的版本,则返回值1048576。

因此,工作表列A中处于最底端(即最后)一个单元格可表示为:

Range(“A” & Rows.Count)

从而上述第二种方法的代码也可以写为:

Range(“A” &Rows.Count).End(xlUp).Select

同样是选择单元格A10(即列A中有数据的单元格区域的最后一个单元格)。并且,该代码更具有通用性,这样就不怕Excel的版本问题了。

注意:上面是以列为例来说明如何选取某列中的最后一个有数据的单元格,对于行来说,如何选取某一行中最后一个有数据的单元格,与上面的方法相同,只是需要修改相关参数。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
保险跟理财有什么不同 轻度半月板损伤能步行吗 半月板损伤无法走路是怎么回事 设计院协同设计 易燃品易燃品定义 助力车办驾驶证年龄限制是几岁? 什么叫用信额度 信贷额度什么意思 什么叫信贷额度 超出信贷额度什么意思 龙珠17号在第几集复活的速度回答。高分。30! 明锐刹车踩不动,esp灯亮 新明锐一键启动冬季启动不了,提示刹车制动失灵 明锐冷车打火刹车是硬的 明锐早上发动车子时刹车踩不下去,是怎么回事呀(1.6手自一体)? 现废铜回收多少钱一斤 怎么去除华为照片上的水印 50毫升紫砂壶怎么用 长春有哪些知名的旅游景点值得打卡? 随遇而安的人是什么心态 随遇而安是否代表一个人适应能力强…… 极端天气是什么意思 恶劣气候条件和不可抗力 成都黄龙溪怎样坐公交车到天府广场 黄龙溪交通 自然条件和生态环境有什么区别 星光 阅读题答案中妈妈,我抓到一颗星星了!中星星指什么啊 四川属于长江中游吗?如不是那属于那里? 韶关创智城广场是什么装修? 班主任在维护学生心理健康方面的作用 从双流出发到成都市国际商贸城荷花池中药材专业市场怎么坐公交车? 我想当武警,就是臂章上写:中国武警 这个,武警可以经常外出吗?武警和... 糖尿病能吃桔子和火尤果柚子可以吃吗 从凤凰山到黄土坡怎么坐公交车,最快需要多久 糖尿病能吃蜜柚 青桔子吗 在昆明黄土坡金店坐公交车怎么走 求两千以内的手机,分辨率是1920*1080 双肺索条什么意思 离婚案中财产保全期限是多久? 有没有塘沽到天津西站的火车,早上6、7点左右的 我的车被法院扣了,这样可以吗? 民诉诉前财产保全多少天? 仙剑四如何引发剧情 藤县塘步镇星期六可以办身份证吗 时光微澜处 等一盏茶香 碳酸钠与羧酸类反应生成二氧化碳吗? 月经第十一天没有卵泡卵巢囊肿还在 广西藤县太平镇公安局办临时身份证流程 ...一个囊肿,注射黄体酮五天,今天已经第八天了,月经还没来,怎么回事... 宜昌市东山花园对口初中在那里上