VBA实战案例技巧 快速选定特殊单元格 定位技巧

2021年10月11日11:24:33VBA实战案例技巧 快速选定特殊单元格 定位技巧已关闭评论 2,096 views
微信公众号 【EXCEL880】 QQ群【341401932】 Excel课程咨询 请加郑广学老师微信EXCEL880B

本技巧主要介绍如何使用录制宏功能来选定工作表中特定的单元格区域。

  • 录制宏是EXCEL对开发用户来说非常方便的一项功能,它的功能非常强大,能够录制到很多的过程,对代码的编写有很大的帮助。所以一定不要小看这项功能!

使用代码助手收录代码,方便以后快速调用。

代码助手下载地址 http://excel880.com/blog/archives/11297

  • VBA代码助手专业版-代码库管理,如下界面
  • 可以在需要的分类下面新建下级,复制代码,加上注释就可以完成收录。
  • ★★★注意:做好自己的代码库收录工作在以后的工作中可以加快编写代码速度。另外请注意经常备份自己的代码库
  • 使用:
  • 在建立代码库时所选的目录下面就可以快速找到需要的代码,快速调用了。

1. 定位到含有批注的单元格

  • 开发工具选项-录制宏
  • 上图: 录制宏对话框确定
  • 选中需要定位的单元格
  • 开始-查找和选择-定位条件
  • 录制:定位到含有批注的单元格
  • 确定后,定位到二个含有批注的单元格: B9 和 E12 单元格
  • 定位好以后,一定要停止录制宏,否则会造成一直继续录制无法找到需要的语句。如下图:表格下方-就绪-边上的-暂停图标,或者 开发工具-停止录制
  • 1)
  • 2)
  • 录制完毕后,按 F11 进入查看代码,代码如下:
  • 本段代码记录了二段过程:
  • Range("A1:M19").Select ‘选中 A1:M19单元格
  • Selection.SpecialCells(xlCellTypeComments).Select '选中指定条件单元格
  • 注释:
  • 1) SpecialCells:选中区域的与指定要求匹配的所有单元格
  • 2) xlCellTypeComments:含有注释的单元格
  • 3) 现在根据我们的需要修改代码:
  • 一般地址的表示不用 select, selection 来代替,容易造成不必要的困扰:
  • 所以这句可以合并成:
  • Range("A1:M19").SpecialCells(xlCellTypeComments).Select
  • 根据前面的学习,前面的地址就可以修改成:
  • Sheet1.UsedRange.SpecialCells(xlCellTypeComments).Select
  • 可以在立即窗口测试一下 ?Sheet1.UsedRange.address
  • ★★★注意:立即窗口测试在 语句前 加上 ?

2. 定位到空单元格

  • 同样的方法录制到空单元格
  • 录制定位到以下区域的空单元格: A2 : H17
  • 结果: 定位到了A7:H7, A11:H11
  • 代码:
  • 同样记录了二段过程:
  • Range("A2:H17").Select
  • Selection.SpecialCells(xlCellTypeBlanks).Select
  • 结合前面内容做以下修改:
  • 书写如下:
  • n = Sheet1.Range("a" & Rows.Count).End(xlUp).Row 'A列最大行
  • Sheet1.Range("A2:H" & n).SpecialCells(xlCellTypeBlanks).Select '选中A2到H最大行的指定条件单元格
  • 如果要删除这二行:
  • Sheet1.Range("A2:H" & n).SpecialCells(xlCellTypeBlanks).Delete
  • 注释:
  • xlCellTypeBlanks: 空单元格
  • Delete: 删除

3. 定位到使用区域中最后的单元格

  • 定位前选中的区域:
  • 定位:
  • 结果:M19 该区域的最后一个单元格
  • 录制宏以后的代码:
  • 同理:修改录制宏代码
  • 代码:Sheet1.UsedRange.SpecialCells(xlCellTypeLastCell).Select ‘使用区域的最后一个单元格

4. 定位到含有公式的单元格


  • 书写方式:Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas).Select
  • 注释:
  • 1) xlCellTypeFormulas 含有公式的单元格
  • 2) xlCellTypeConstants 和 xlCellTypeFormulas 提供了参数,如上公式是省略的,就代表全部含有公式的单元格。
  • 选择错误的:按下图
  • 书写方式:
  • Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors).Select
  • 注释:
  • 1. xlErrors:错误的 也可用数字 16 代替
  • 2. 其他参数:
  • 常量 值 描述
  • xlErrors 16 错误
  • xlLogical 4 逻辑值
  • xlNumbers 1 数字
  • xlTextValues 2 文本
  • 3. 参数的数字累加就是多个结果:
  • 书写方法:
  • Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas, 18).Select
  • 注释:
  • 参数 18 = 错误 16 + 文本 2

5. 其他参数

  • 常量 值 描述
  • xlCellTypeAllFormatConditions -4172 任意格式单元格
  • xlCellTypeAllValidation -4174 含有验证条件的单元格
  • xlCellTypeBlanks 4 空单元格
  • xlCellTypeComments -4144 含有注释的单元格
  • xlCellTypeConstants 2 含有常量的单元格
  • xlCellTypeFormulas -4123 含有公式的单元格
  • xlCellTypeLastCell 11 使用区域中最后的单元格
  • xlCellTypeSameFormatConditions -4173 含有相同格式的单元格
  • xlCellTypeSameValidation -4175 含有相同验证条件的单元格
  • xlCellTypeVisible 12 所有可见单元格
  • 注释:
  • 参数也可以使用数字,但不能累加,如下图:含有注释的单元格。

更多作品请百度搜索 郑广学

VBA代码助手 懒人神器 在 EXCEL880.COM 官网下载

表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页