ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 Office知识技巧免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 474|回复: 0

8、单元格Range函数使用

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-11-28 22:07 | 显示全部楼层 |阅读模式
本帖最后由 大六九 于 2019-11-29 05:25 编辑
单元格对象在VBA中一个非常基础,同时也很重要的。
它的表达方式也是非常的多样化。


Range 对象
代表某一单元格、某一行、某一列、某一选定区域
(该区域可包含一个或若干连续单元格区域),或者某一三维区域。
1、语法:
Range ("文本型装单元格地址")
1、常见写法
Range("a1")                '单元格
Range("a:a")               '列
Range("1:3")               '行
Range("a1:b10")        '相邻区域
Range("a1:d7,c4:e8") '不相个邻区域
2、文本型语法:
Range ("文本型装单元格地址1","文本型装单元格地址2")
1-4、变化写法
Range("a1:b10")                '一般写法
Range("a1", "b10")            '变化写法1
Range(Range("a1"), Range("b10")) '变化写法2
Range("a1") = 123


注意:
1.如果在range前没有指定工作表,则默认为活动工作表
2.如果对象不是活动工作表(如活动图表),则会出现错误


Sub 单元格对象例子()
Debug.Print Range("a:a").Count '计数工作表最大的行数
Debug.Print Range("1:1").Count '计算工作表最大的列数
Debug.Print Application.CountA(Range("a:a")) '计算工作表已使用的行数
Debug.Print Application.CountA(Range("1:1")) '计算工作表已使用的列数
End Sub



Debug.print语名主要用于在立即窗口中显示信息。
如果开发者希望在程序运行过程中监测很多变量的值时,
每次采用MsgBox弹出对话框十分不便,
此时可以使用该语句输出结果显示在立即窗口中,
待过程运行完毕后再行查看。

3、相对引用写法
.range("地址区域").range("地址区域")
Range("b2:d4").Range("b2")
'相对引用的写法 返回是C3
参照前一个range的左上单元格

.range地址区域中支持变量
a = 3
Range("a" & a).Select
Range("c3:e5")(2).Select

i = Application.CountA(Range("c:c"))
'找到c列中已使用的最后一个单元格位置
Range("c" & i).Select
'选择C列最后一格
Range("a1", "c" & i).Select
'选择A1到C列的最后一格(方法一)
Range("a1:c" & i).Select
'选择A1到C列的最后一格(方法二)

小结:动态单元格区域的定位,
可以应用到单据的保存等实际工作中

4、索引号表示
range区域中的每个单元格,可以用索引号表示出来
写法:range("单元格区域")(行号,列号)

Sub 索引号取出range的单元格()
'Range("a1:c4")(4).Select
'引用顺序是:从左向右,从上到下选取
'Range("b2:c4")(3).Select  
'以前一个单元格区域为照
Range("a1:c4")(4.5).Select
'当有小数时,则取整
'注意:如果索引号出现小数,
则按照“四舍六入五单双”的“银行家舍入法”
End Sub

Sub 行列号定位()
Range("a1:c4")(3, 2).Select
'利用行号与列号定位
Range("a1:c4")(1.5, 2.5).Select
'行列号也可以使用小数
End Sub

小结:
1.这个索引值是参照前一个单元格区域左上单元格进行定位引用的
2.索引值可以是正数,负数,零值,小数















您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关注官方微信,高效办公专列,每天发车

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2020-4-1 04:41 , Processed in 0.059190 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

沪公网安备 31011702000001号 沪ICP备11019229号

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:徐怀玉律师 李志群律师

快速回复 返回顶部 返回列表