1 如果是一个孤立的单元格

  • 孤立的单元格,查其 行,列数,即可定位这个单元格,一般就够了
  • 如果非要查这个孤立单元格的四格方向的范围,会查到这个单元格的行/列 一直往4个方向遇到的其他有数据的单元格的位置 / EXCEL的边界。具体见下面的代码和运行结果。
Sub test121()
'孤立单元格Debug.Print "查孤立单元格的边界方法1,其实查行列就够了"Debug.Print Cells(3, 6).RowDebug.Print Cells(3, 6).ColumnDebug.Print "查孤立单元格的边界方法2,查到的是四壁"Debug.Print Cells(3, 6).End(xlUp).RowDebug.Print Cells(3, 6).End(xlDown).RowDebug.Print Cells(3, 6).End(xlToLeft).ColumnDebug.Print Cells(3, 6).End(xlToRight).ColumnEnd Sub

2 如果是单独的行/列

  • 用列来举例子,
  • 一般来说查一列的上限需求比较少,查一列的下限是需求比较多

2.1  如果从外部逼近去查

  • 如果要准确的话,需要保证列不是从第1行开始填充的
  • 一般列不可能满,所以查列的下限一般都是对的
  • 如果列的数据不太多的话,从 Range("c65536") 甚至  range("c999")  range("c9999") 查就很足够了

2.2 如果从内部逼近去查

  • 挑选1个在列中间的单元格作为起点, range("c5")或其他只要不是边界就行
  • 2从内部逼近去查边界呢,只要挑选中间的单元格,从内部查反而更准

2.3  不要从边界的元素去查

  • 但是不要从边界的元素去查,不太准,懒得这么搞

2.4 忘了 End(xlEnd) 是个啥?

'Debug.Print Range("c1").End(xlEnd).Row  '这样不行,只会查到空区域 ??End(xlEnd) 是个啥

Sub test122()'举列的例子,行类似
'查一列的上限需求比较少,'查一列的下限是需求比较多'1 从外部逼近去查'如果要准确的话,需要,保证列不是从第1行开始填充的Debug.Print "查C列的最小行" & Range("c1").End(xlDown).Row,Debug.Print "查C列的最大行" & Range("c65536").End(xlUp).RowDebug.Print "查D列的最小行" & Range("D1").End(xlDown).Row,Debug.Print "查D列的最大行" & Range("D65536").End(xlUp).RowDebug.Print'挑选1个在列中间的单元格作为起点, range("c5")或其他只要不是边界就行'2从内部逼近去查边界呢,只要挑选中间的单元格,从内部查反而更准Debug.Print "查C列的最小行" & Range("c5").End(xlUp).Row,Debug.Print "查C列的最大行" & Range("c5").End(xlDown).RowDebug.Print "查D列的最小行" & Range("D5").End(xlUp).Row,Debug.Print "查D列的最大行" & Range("D5").End(xlDown).RowDebug.Print'3但是不要从边界的元素去查,不太准,肯定也是有规则的,懒得这么搞,记不住这些特殊规则'可参考下面孤立单元格的'Debug.Print Range("c1").End(xlEnd).Row  '这样不行,只会查到空区域 ??End(xlEnd) 是个啥?End Sub

3 按某区域的边界

  • 某区域,一般也没查询区域边界的需要把?因为区域本身已知了范围
  • 都知道范围了,还查什么边界?
  • 如果直接写某一个区域,其实相当于用这个区域的左上角的第1个单元格去查询的
  • 所以查范围的边界,其实等同于查某个单元格的边界
  • 非要查,就从矩形区域的内部去查把(而且还至少不是2*2这种没有 非边界单元格的方式)

好用的几种情况--只能试往下往右尽量大的位置反查回来"

其他不好用情况主要是因为,range() 边界连接起来会影响end() 的判断

end() 会查出  非空区域 / 空区域的边界

Sub test121()'某列
Debug.Print "C列的上下限"
'查一列的上限比较少
Debug.Print Range("c1").End(xlEnd).Row  '这样不行,只会查到空区域
'查一列的下限是需求比较多
Debug.Print Range("c65536").End(xlUp).Row'某单元格
Debug.Print "查某单元格的边界方法1"
Debug.Print Cells(16, 3).Row
Debug.Print Cells(16, 3).ColumnDebug.Print "查某单元格的边界方法2--不好用"
Debug.Print Cells(16, 3).End(xlUp).Row
Debug.Print Cells(16, 3).End(xlDown).Row
Debug.Print Cells(16, 3).End(xlToLeft).Column
Debug.Print Cells(16, 3).End(xlToRight).Column''某区域,一般也没查询区域边界的需要把?因为区域是已知的
Debug.Print "查某一区域的边界--不好用"
Debug.Print Range("c16:d18").End(xlUp).Row
Debug.Print Range("c16:d18").End(xlDown).Row
Debug.Print Range("c16:d18").End(xlToLeft).Column
Debug.Print Range("c16:d18").End(xlToRight).ColumnDebug.Print "好用的几种情况--只能试往下往右尽量大的位置反查回来"
Debug.Print Range("c65536").End(xlUp).Row
Debug.Print Cells(5, 999).End(xlToLeft).ColumnEnd Sub

Sub test121()'查某列的上下范围,只能从外部逼近'还需要假设是连续的'001 "查C列的上两端"
'''    Debug.Print Range("c1").End(xlEnd).Row  '这样不行,只会查到空区域 ??End(xlEnd) 是个啥?'1 从外部逼近去查'查一列的上限需求比较少Debug.Print "查C列的最小行" & Range("c1").End(xlDown).Row,  '这样不行,只会查到空区域'查一列的下限是需求比较多Debug.Print "查C列的最大行" & Range("c65536").End(xlUp).RowDebug.Print "查D列的最小行" & Range("D1").End(xlDown).Row,  '这样不行,只会查到空区域Debug.Print "查D列的最大行" & Range("D65536").End(xlUp).RowDebug.Print'2从内部逼近去查边界呢,看起来从内部查,反而更准Debug.Print "查C列的最小行" & Range("c5").End(xlUp).Row,Debug.Print "查C列的最大行" & Range("c5").End(xlDown).RowDebug.Print "查D列的最小行" & Range("D5").End(xlUp).Row,Debug.Print "查D列的最大行" & Range("D5").End(xlDown).RowDebug.Print'3但是不要从边界的元素去查,不太准,肯定也是有规则的,懒得这么搞,记不住这些特殊规则'4也不适合查各种不规则区域的行,列,区域等'002 某单元格Debug.Print "查某单元格的边界方法1"Debug.Print Cells(16, 3).RowDebug.Print Cells(16, 3).ColumnDebug.Print "查某单元格的边界方法2--不好用"Debug.Print Cells(16, 3).End(xlUp).RowDebug.Print Cells(16, 3).End(xlDown).RowDebug.Print Cells(16, 3).End(xlToLeft).ColumnDebug.Print Cells(16, 3).End(xlToRight).Column''003 某区域,一般也没查询区域边界的需要把?因为区域是已知的Debug.Print "查某一区域的边界--不好用"Debug.Print Range("c16:d18").End(xlUp).RowDebug.Print Range("c16:d18").End(xlDown).RowDebug.Print Range("c16:d18").End(xlToLeft).ColumnDebug.Print Range("c16:d18").End(xlToRight).ColumnDebug.Print "好用的几种情况--只能试往下往右尽量大的位置反查回来"Debug.Print Range("c65536").End(xlUp).RowDebug.Print Cells(5, 999).End(xlToLeft).ColumnEnd Sub

VBA---查单元格,行/列,区域边界情况,用end(xlup) .row , end(xldown) .row 等相关推荐

  1. VBA对单元格及区域、行、列的选择、写入、复制、删除、插入等 ​

    ​EXCEL是由很多的对象组成,每个对象都有他的属性和方法,所谓的对象可以理解为所有存在的东西,在同一个程序里的对象之间是存在关系的,比如说上下级关系或同级关系,上下级关系之间用英文句点". ...

  2. VBA之EXCEL删除和设置单元格行高等

    '删除Sheet1上的单元格区域A1:D10,并将其余单元格左移以填补被删除单元格的位置 Sheet1.Range("A1:D10").Delete Shift:=xlShiftT ...

  3. Microsoft Excel 单元格行高和列宽

    Microsoft Excel 单元格行高和列宽 格式 -> 自动调整行高 自动调整列宽 References https://yongqiang.blog.csdn.net/

  4. JAVA导出Excel通用工具类——第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选、动态合并横向(纵向)单元格等多种复杂情况——保姆级别,真的不能再详细了,代码拿来即用)

    JAVA导出Excel通用工具--第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选.动态合并横向(纵向)单元格等多种复杂情况--保姆级别,真的不能再详细了,封装通用工具类,代码拿 ...

  5. php中调行高代码_单元格行高怎么设置

    单元格行高怎么设置? 如图一张表,全选,全选的快捷键是Ctrl+A.全选之后第一种方法是直接用鼠标放到最前面的竖栏上,放在数据与数据之间交叉的框上,会出现一个+字的符号. 这个时候点击鼠标左键拉动,就 ...

  6. html5设置单元格行高,单元格的行高怎么设置 EXCEL文档怎么统一设置行高

    我要把有几行设置为同样的高度,可是一行一行的拉,太慢了. 在Excel中,如何设置表格最合适的行高.列宽? EXCEL中的单元格行高不够怎么调整可以自动调整,根据字的内容来调整: 请问怎么统一设置EX ...

  7. 10, excel vba 修改单元格的颜色

    看数据总是很累的,一堆密密麻麻的.哪个数据才是我想要的呢? 比如一列里有各种各样的数据,我想知道哪些单元格的数据大于11的? 又比如一列里有各种各样的数据,我想知道哪些单元格的数据大于111的? 这里 ...

  8. 动态合并单元格行和列方法封装 ~~~起手可用

    在项目中遇到一个需求合并单元格行跟列同时合并,抽个方法做个记录,可以直接引入min.js中直接使用 /*** * @param {*} table vue对象, Element-ui Table 插件 ...

  9. VBA查找单元格内指定文字并标红加粗

    VBA查找单元格内指定文字并标红加粗 功能: 选中想要查找的单元格,在函数内点击运行,实现将指定的文字标红加粗的功能 bug: 指定文字会区分大小写,如何让它不区分大小写? 改进 将是否加粗,和标记的 ...

  10. 删除空值_空白单元格行,如何快速批量删除?简单方法,效率飞升

    EXCEL进阶课堂 · 简单却不知道 系列文章持续推送!各位小伙伴,EXCEL的日常操作中,有许多功能使用频率很高,可是绝大多数人只使用到其最基本的功能,对于其背后的强大拓展功能知之甚少,更不说使用它 ...

最新文章

  1. 【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门
  2. python / 和 // 区别
  3. redis数据结构之一:链表
  4. 利用zabbix-java-gateway监控jvm
  5. 二叉树中如何求根节点到任意节点的路径?
  6. Java常用的八种排序算法与代码实现
  7. 一个很好的分页存储过程
  8. 前后台分离之数据模拟
  9. linux ps 进程组,linux进程管理(2)---进程的组织结构
  10. eclipse手动pom本地包_(转)如何在maven的pom.xml中添加本地jar包
  11. Python---(9)数据科学领域常用的15个Python包
  12. 论文阅读笔记五十三:Libra R-CNN: Towards Balanced Learning for Object Detection(CVPR2019)
  13. 免费下载谷歌maps软件_Android Google Maps示例教程
  14. Mybatis与JDBC的对比超详细笔记
  15. 利用python绘制雪景图_用AI绘制冬季雪景森林场景插画图片
  16. violate原理,java内存模型,可见性,cache二级内存模型
  17. 微信联系人一键导出的方法在这里
  18. 机器人C++库(6)Robotics Library 例程三之正逆运动学计算
  19. ZOJ 1789 The Suspects(经典并查集)
  20. 数模学习(10):灰色系统(老哥)

热门文章

  1. post 防篡改_表单提交数据防篡改
  2. 持续火爆!2021年上半年软考四川参考率64.2%,云南全年报考规模上升8.4%,浙江报考人数增长56.2%
  3. 机器学习实验二 决策树
  4. 用迅雷校验网盘下载的出错文件
  5. 小程序marker callout 遇到的坑
  6. 如何快速为视频添加ai字幕的解决方案
  7. oracle中字体倒转,Oracle特殊查询 行列倒转 分页
  8. m451dn linux驱动下载,惠普M451dn驱动下载
  9. 26_ue4进阶末日生存游戏开发[僵尸添加动画和扣血效果]
  10. 指甲半月痕 血象和微量元素检查分析是否有贫血