Range对象
1、Range对象是什么
在前面的每一讲我们都提到了Range对象,它到底是个什么东西?
我用自己的理解先来讲讲它:
因为我们主要是在说Excel的VBA,为什么要特指是Excel的VBA?
因为VBA这个语言其实在很多地方都有,Office每个套件应该都有,我还知道的是CAD也用这个语言。
我们所讲的Range对象是Excel特有的(虽然Word里也有个Range对象,但只是名字相同),它所代表的就是我们平时操作Excel表格里的最小单元——单元格。它之所以会存在于Excel的VBA里,就是因为我们用Excel VBA用到它的地方会很多很多,所以微软就帮我们做好这么一个对象,让我们能很方便的去使用它,而它具体底层是如何实现的,我们是不知道的。
如果你到微软官网查看的话:https://docs.microsoft.com/zh-cn/office/vba/api/overview/,左边列表里有个Excel-对象模型,这里就是所有的Excel VBA特有的一些对象,就是微软已经做好了让使用者直接使用的东西。
然后你可以看看Range对象,你会发现它有好多方法、属性,所以上一讲数组里我提到,直接操作Range对象就很慢的,主要是Range对象其实是一个比较复杂的东西,它包含了很多内容。
当然我们现在没有必要关注它那么多的方法、属性,很多其实我们都很少使用的,最常用的我认为有这么几个:
Activate 激活单元格,相当于你用鼠标点击选中
Value 这个前面多次用过,单元格里保存的内容
Offset 偏移,这个方法是很好用的
相当于军训站队的时候,教官说第5排第6个差不多的意思
Range对象使用这个方法就可以偏移到其他的Range
Resize 改变单元格的范围
Copy 复制
Paste 粘贴
Formula 公式
如果还想详细了解,除了可以去看官方文档外,还可以看对象浏览器。
对象浏览器使用简单介绍:
在编辑器里按F2,出来1个新界面,在查找框里输入Range,但是这个并不能比较精准的定位到,你还得在下面一点类(在VBA里类就可以理解是对象)的框框里去找,它是按照字母排序了的。
在这里也可以看到对象的方法和属性。
基本上我们平时能怎么操作单元格,Range对象都会有对应的方法或属性。
一开始你可能完全不知道它能有什么,你可以把能想到的操作,通过初识VBA介绍的录制功能录制出来,去慢慢了解。
2、使用
使用过Excel的人都知道,如果你要在一个单元格写东西,你得选中单元格、再输入、回车,这才能完成一个单元格的赋值。
如果用VBA语句的话,就是:
Range("A1").Activate
Range("A1").Value = "123"
这个时候,你要这么去想了,你现在已经是会VBA代码的人了,你还需要像一般人那样去操作Excel?还需要像普通人拿过东西那样分三步:走过去、拿起来、走回来?
不需要啦,这时候的你已经有了魔法了,你要拿一个东西的时候,你直接弄个魔法,叫它跑过来就行了,你现在只要一步了,直接操作Range对象就行啦,激活这种操作在VBA里一般都不需要用,你只要能精准找到对象就可以。
Range("A1").Value = "123"
举再多的例子也不如自己动手去试试来的好,所以这东西还是得自己多去使用,才会真正的自己去理解。
3、小结
简单介绍Range对象,是Excel VBA里操作最多、最基本的对象。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一天一大 leet(无重复字符的最长子串)难度:中等-more-001
- 一天一大 leet(交错字符串)难度:困难-Day20200718
- 我把公司 10 年老系统改造 Maven,真香!!
- 一天一大 leet(恢复空格)难度:中等-Day20200709
- 一天一大 leet(旋转数组的最小数字)难度:简单-Day20200721
- 一天一大 leet(最佳买卖股票时机含冷冻期)难度:中等-Day20200710
- 一天一大 leet(戳气球)难度:困难-Day20200719
- 一天一大 leet(不同的二叉搜索树 II)难度:中等-Day20200721
- 组合游戏系列5: 井字棋、五子棋AlphaGo Zero 算法实战
- 一天一大 leet(最小路径和)难度:中等-Day20200723
- 一天一大 leet(二叉树的最大深度)难度:简单-Day20200728
- 生产者消费者模式的三种实现方式
- java中的阻塞队列
- java虚拟机
- 重构:保持Dockerfile整洁的5个技巧