VBA编程经常和“对象”打交道,其中最频繁的对象大概就是“单元格”了。(听说您还没有对象?那……我想你大概需要一份Excel,包邮988……)

今天我们就来聊一下单元格的各种引用方式,比如单个单元格、行列、连续和不连续的单元格区域、相连的和交叉的单元格区域等等……。

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

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

……

就酱紫,温暖的拥抱,安,爱你们。

图文作者 看见星光

asp.net gridview删除 获取到第一行第一列的单元格内容_VBA中的常用单元格引用方式...相关推荐

  1. 在PPT表格中,如何在左上角的网格中画一条斜线,并在斜线两边标注第一行第一列的属性名?

    在PowerPoint幻灯片左上角的网格中画一条斜线,并在斜线两边分别标注第一行第一列的属性名,可以按照以下步骤进行: 打开 PowerPoint 并创建一张新幻灯片. 单击 PowerPoint 功 ...

  2. matlab累加数组的前n行,有一组m行n列的数组,在matlab中如何编程,每三个数求一次平均数(行与列分别求)?...

    有一组m行n列的数组,在matlab中如何编程,每三个数求一次平均数(行与列分别求)? 关注:216  答案:3  手机版 解决时间 2021-03-05 21:45 提问者繁华落尽 2021-03- ...

  3. element table 合计 第一行 固定列

    element table 合计 第一行 在这位大哥这里学来的, 但同时我这边的情况是: 固定高度, 第一列固定, 参数多, 因此, 这个方法不能够完全满足, 因此加入以下代码: 代码作用: 在每次获 ...

  4. Python xlrd 读取 Excel 表格基础(一):获取sheet、行、列对象,读取数据类型等

    Python xlrd 读取 Excel 表格基础 一:按行.按列读取Excel数据内容 前言: 1.获取工作簿.sheet对象 2.获取sheet表中行.列对象 3.读取sheet对象中所有数据 4 ...

  5. Python获取文件的行数和某一行的内容

    我们先创建一个文本文档,命名为text.txt: 我的"长生果"叶文玲 书,被人们称为人类文明的"长生果".这个比喻,我觉得特别亲切. 像蜂蝶飞过花丛,像泉水流 ...

  6. python删除文件第一行第一列_Python删除文件第一行

    一.代码实例: def del_firstline(): for line in fileinput.input("file.txt", inplace = 1): if not ...

  7. Linux在文件第一行添加字符,使用shell命令给文件中每一行的前面、后面、指定列添加字符...

    shell给一个文件中的每一行开头插入字符的方法:awk '{print "X"$0}' fileName shell给一个文件中的每一行结尾插入字符的方法:awk '{print ...

  8. c# listView1写入第一行第一列

    listview的用法: 1:首先申明一个行对象ListViewItem list=new ListViewItem("a"); 2:为行对象添加子项 list.subitems. ...

  9. java获取excel文件第一行_java - 在Java中读取Excel文件,但第一行除外 - 堆栈内存溢出...

    我正在尝试从使用xlsx文件的JasperReport模板自动创建报告,我用来从excel文件读取的方法是这样的: String[] columnNames = new String[]{" ...

最新文章

  1. 集成学习-Boosting集成学习算法LightGBM
  2. Java黑皮书课后题第3章:*3.33(金融:比较成本)假设你要通过两种不同的包裹运输大米。你可能会编写一个程序来比较成本,该程序提示用户输入每个包裹的重量和价格,然后显示具有更优惠的包裹
  3. AngularJS 详解Directive(指令)机制
  4. 柏林的评委还识货,我的打赌也算是赢了
  5. Word2Vec学习笔记(三)
  6. python有关urllib,urllib2和requests应用记录
  7. Word插入插图清单目录、附表清单目录
  8. Prelude CC 2019 for Mac附激活补丁 v8.1.0中文版
  9. W25Q64Flash芯片
  10. 【UML 建模】在线UML建模工具 ProcessOn 使用详解
  11. C语言-编写函数isprime(int a),用来判断自变量a是否为素数。若是素数,函数返回整数1,否则返回0。
  12. Dreamwear如何创建javascript_内存管理+如何处理4种常见的内存泄漏
  13. WinSCP(版本5.7.6)中文文件名显示乱码
  14. Visual Studio 2015 Bowser Link的功能不停的向服务端发送请求
  15. 开发者必备的顶级Android开发工具,成功入职阿里
  16. 自从学会:用Python爬取虎牙颜值区美女主播照片后,身体一天不如一天
  17. 苹果历届发布会的邀请函
  18. Html入门学习总结
  19. 在IDEA中配置git本地仓库并提交远程仓库
  20. swi prolog 和java_java-如何在Android中使用swi-prolog

热门文章

  1. unity 弹出式菜单_Java Swing JMenu和JPopupMenu:菜单和弹出式菜单
  2. c++函数不写return可以吗_Science: 高剂量的维生素C可以抗癌吗?
  3. c语言鼠标下棋,c语言写的鼠标操作的五子棋游戏,欢迎观赏!
  4. 2.5 数据不匹配时,偏差和方差的分析-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  5. lis3dh 三轴加速度计 运动检测 中断配置实现
  6. 如何查看ubuntu的版本信息和查看几位 32 or 64位
  7. 基于GRNN神经网络的数字预失真系统的FPGA实现
  8. 十三、linux编程中目录IO常用编程函数
  9. Linux学习 LVM ***
  10. caioj 1158 欧拉函数