ExcelVBA入门教程:选取单元格的8种方法

●  本技巧目的:掌握单元格的各种引用方法。

●  Excel 就是由基本元素 -- 单元格构成的,它就像我们身体的细胞一样,可是非常重要的,千万不能小看它的作用。不论是学习 vba 还是 操作 Excel 本身, 最先接触到的就是单元格,只有熟练的掌握了,才能进行后续的操作。

★★★注意:下面所有的标点符号全部使用半角,或者说英文标点。代码中不区分大小写。

●  1.Range 属性

单个单元格的表示方法:

表示方法:Sheet1.Range("A1")

注释:

1)工作表 Sheet1 的单元格:A1,   书写格式:Sheet1.Range("英文字母+数字")  

2)保持良好的习惯加上工作表名称,对于后续跨工作表的操作会减少很多的问题。就像寄快递时要把小区的每栋楼的编号写上一样,不会发生快递寄到隔壁楼的问题哟。

单元格地址选中使用命令:   .Select

Sheet1.Range("A1").Select

多个单元格的表示方法:

连续单元格:A3 到  C6 单元格

表示方法:Sheet1.range("A3:C6")

注释:

1)书写方法:Sheet1. ("英文字母+数字 : 英文字母+数字") 

2)首尾单元格之间用 : 连接

二组连续单元格,组合起来的方法:

A3 到 C6 单元格 , E7 到 G11 单元格

表示方法:  Sheet1.range("A3:C6, E7:G11")

Sheet1.range("A3:C6,E7:G11").Select

注释:

1)书写方法:Sheet1. ("英文字母+数字 : 英文字母+数字, 英文字母+数字 : 英文字母+数字")

2)二组不连续的地址,中间用  ,分隔

3)  要点:连续单元格:首尾之间用 : 来连接, 二段不连续的单元格组合用 ,分隔

●  2. Cells 属性

★★★小技巧:安装代码助手后,alt+数字 0  :可以快速转换 列号 为数字  或者 英文字母

单个单元格:

表示方法:sheet1.cells(1,1)  或者  sheet1.cells(1,"A")

注释:

1)括号内  前面代表:行   后面代表:列, 用 ,分隔

2)二种方法:

 ① 前后都使用数字

 ② 前面使用数字,后面用英文字母代表列号   

 ③ ★★★ 注意:英文字母要加双引号

多个单元格的表示方法:

连续单元格:B2 到D7 单元格

表示方法:sheet1.Range(sheet1.cells(2,2),sheet1.cells(7,4))              或者

sheet1.Range(sheet1.cells(2,"B"),sheet1.cells(7,"D"))

注释:

书写方法:sheet1.range(工作表名称.左上方单元格,工作表名称.右下方单元格)

●  ★★★ Range 和 Cells 总结:

1) Range 和 Cells   书写方法不同:  Range("A1")  和  Cells(1,1) 或者 Cells(1,"A")  所指的单元格是相同的

2) Range:写好后, 后面加上 . 系统会出现提示, Cells 没有

3) Range:可以表示连续的单元格

4) Cells:  更方便,直接写行,列号, 中间用英文逗号分隔,不需要使用字符串拼接。它是在循环中根据行列号访问的主要手段

例如:   Range("A" & rows.count)    Cells(rows.count, "A")

●  3. 方括号 [ ]

●  Sheet1.Range("A1")    可以写成   sheet1.[A1]

●  Sheet1.range("A1:C1")可以写成   sheet1.[A1:C1]

●  ★★★ 注意:只能使用列号的英文字母或者行号数字,不能使用变量

●  4.Offset 属性

Offset 的使用方法:

以某单元格作为起点,然后以他为起点向上下,左右偏移。

1)需求:当用户选中单元格后 , 需要在选中的单元格左上单元格写入数字  1,  且选中单元格是未知的。

2)有了Offset 属性,只需要在 Selection 后输入偏移的行列号,就能实现输入。

3)实现方法:Selection.offset(-1,-1)= 1   这样书写是不是很方便呢?

二种方法:

使用 offset, 假设以 B3 为起点, 这个起点位置可以根据自己的要求来设定。

书写方法:Sheet1.range("B3").offset(0,1)

注释:

1)代表:B3 开始,不偏移行,向右偏移一列, 即 C3 单元格

2) offset 括号内 前面数字代表行, 后面数字代表列

3)数字  0  代表:不偏移

4)数字 -1  代表:向上  或者 向左 偏移

例如1:Sheet1.range("B4").offset(-1,1)   即:   B4 向上偏移一行,向右偏移一列, 即 C3 单元格

例如2:Sheet1.range("D5").offset(-2,-1)  即:  D5 向上偏移二行,向左偏移一列, 即 C3 单元格

使用 range 或者  cells, 假设以 B3 为起点,这个起点位置可以根据自己的要求来设定。

书写方法:sheet1.range("B3").cells(1,2)  或者 sheet1.range("B3").range("B1")

注释:

1)上面书写方法代表:B3 开始,不偏移行,向右偏移一列, 即 C3 单元格

2)详解:

①  不能 向上 或者 向左 偏移

②  数字1  代表:本行,本列

③  数字2  代表:向下 1 行或者  向右  1 列

④  数字3  代表:向下 2 行或者  向右  2 列

⑤  后面以此类推,每增加 1,偏移 也 增加 1

⑥  Range 中的英文字母可以当作数字来看  即 B 代表数字 2, C 代表 数字3

●  5.Resize 属性

要求:表示上图的 B3:E10 单元格

同理:首先以某单元格作为起点,然后以他为坐标向上下,左右扩展。这里是使用扩展哦。

好处和前面说的 Offset  是一样的:修改方便,另外即使是未知位置单元格也能扩展。

书写方法:Sheet1.Range("B3").Resize(8,4)

注释:

1)上面书写方法代表:B3 开始,(含本行本列)共扩展 8行,4列, 即 B3:E10  单元格

2)详解:

①  数字1 代表:本行,本列

②  数字2 代表扩展:向下 1 行 或者 向右 1 列

③  数字3 代表扩展:向下 2 行 或者 向右 2 列

④  后面以此类推,每增加 1,扩展 也 增加 1

offset,resize 组合联合使用

这两个属性是可以组合使用的。这样对于后期的改动会更为方便快捷。

要求:表示 C3:E9 单元格

书写方法:Sheet1.Range("A1").Offset(2,2).Resize(7,3)

注释:

1) A1 单元格 偏移:向下 2行  向右 2列  再扩展:向下 7行 向右 3列

2)偏移,扩展可以前后随意组合

★★★  Offset、Range和 Resize 总结:

●  6.Union 属性

连接二个不连续的区域:  B3:D8, G10:I15

书写方法:   Union(Sheet1.Range("B3:D8"),Sheet1.Range("G10:I15"))

●  7. Usedrange属性

书写方法: Sheet1.Usedrange

注释:

1)确定Sheet1 的 已使用区域

2)该代码所表示的地址为:A1:D7

书写方法:Sheet1.Usedrange

注释:

1)该代码所表示的地址为:A1:G11

2)★★★ 注意:F10:G10 区域即使为空格, 表示的地址也会是   A1:G11

●  8. CurrentRegion 属性

书写方法:Sheet1.Range("A1").CurrentRegion

注释:

1)以 A1 为起点的连续区域

2)该代码表示的地址为:A1:D7

书写方法:Sheet1.Range("F10").CurrentRegion

注释:该代码表示的地址为:F10:G11

(0)

相关推荐

  • offset降维打击:对所有列最后一个数字求和

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.今天来分享一个多维引用的案例,多维引用的好处就是可以"降维打击",用高维对低维,就好比游戏中的黄金对白银. 不过你也不用觉得多 ...

  • 填充合并单元格,三种方法随你选

    小伙伴们好啊,咱们经常说尽量不使用合并单元格,否则就是给自己挖坑.那么对已有合并单元格的工作表,如何进行整理呢? 接下来就看看三种青年的不同方法吧. 二逼青年: 重新输入一次,顺便练练传说中的盲打- ...

  • Excel实战技巧,快速合并单元格的3种方法!

    Hi,大家好,我是小雨!Excel除了具有强大的数据处理能力之外,在绘制表格方面也是表现的非常出色.今天小雨就为大家讲一讲快速合并和拆分单元格的一些技巧和方法. 第 002 期 ▼ 如何快速合并单元格 ...

  • VBA如何快速查找一个区域的右下角的那个单元格? 4种方法的比较

    问题:需要查找sheet中一个区域(a1所在range)的右下角单元格 目标:查找从range('A1')单元格开始的这个区域的右下角的单元格 应该是 cells(102,4) ,但实际上不同方法查出 ...

  • Excel VBA教程 S02E10.单元格(实战)【ExcelVBA教程】

    Excel VBA教程 S02E10.单元格(实战)【ExcelVBA教程】

  • 选取单元格区域十招,你都知道吗?

    如果有数万行数据要去选取,怎么操作最快? 在包含隐藏行列的情况下如何仅对可见部分进行操作? 多表区域如何选取? 方法1  <Ctrl>键 (多重选取) 按住<Ctrl>键然后用 ...

  • Excel教程:单元格批量添加文字,3种方法

    今天有一位小伙伴询问了一个简单的Excel技巧问题. 想在A列文字后面批量添加一个"市"字,添加后的效果就是B列这样. 这个问题非常简单,在咱们免费的7天Excel基础训练营,课堂 ...

  • 一文搞清楚ExcelVBA中的合并单元格

    在我们日常的Excel表格处理中,为了版面的整洁.美观,往往对表格的一些单元格进行合并处理.今天这篇文章就专门讲一下在VBA中如何对合并单元格进行一系列操作. ▎合并单元格写入值 如下图,如果我们想向 ...

  • 10招教你快速选取单元格

    你还在用鼠标拖选来选取单元格吗?小编在这里将教你十招超级方便的选取单元格的技巧,学会之后,你工作学习的效率一定会大大提升哦,感兴趣的话让我们看下去吧! 1.Ctrl键 按住[Ctrl]键然后用鼠标拖选 ...

  • 领导就喜欢合并单元格?会这个方法就够了

    说起合并单元格,经常与表格打交道的表哥表妹对它肯定是又爱又恨吧. 在数据表中使用合并单元格,往往会大家带来很多麻烦. 比如说,筛选.排序.数据透视表等操作都会因为合并单元格的存在而无法使用.在合并单元 ...