引言

之前写过一篇《【Excel VBA】得到最后数据的行数》,提到得到最后数据的行数使用的是End(xlUp)的方法,使用这种方法的缺点是自动化程度不够高,不能较为智能的判断整个数据区的最后一行数据,只能在编写代码的时候指定使用那一列来得到最后一行数据行数。

新方法:UsedRange

直接上代码,在我写的代码中首先对变量进行了定义,其实也可以直接使用。

  Dim uR As VariantSet uR = ActiveSheet.UsedRange

实例两种方法的对比

首先在Excel中录入一些数据,如下图:

  1. 使用End方式
' 一、使用End方式取得最后一行行号 和 最后一列列号Dim FinalRow As IntegerDim FinalCol As IntegerFinalRow = Range("A65536").End(xlUp).Row '得到A列最后数据的行数FinalCol = Range("ZZ1").End(xlToLeft).Column '得到1行最后数据的列数MsgBox "最后一行数据的行号:" & FinalRow & "  最后一列数据的列号:" & FinalCol, vbOKOnly, " End方式"

运行效果如图:

可以看到使用End方式得到的数据最后一行的行号并不正确。

  1. 使用UsedRange方式
  ' 二、使用UsedRange方式取得最后一行行号Dim uR As VariantSet uR = ActiveSheet.UsedRangeDim FinalRow As IntegerDim FinalCol As IntegerFinalRow = uR.Rows.CountFinalCol = uR.Columns.CountMsgBox "最后一行数据的行号:" & FinalRow & "  最后一列数据的列号:" & FinalCol, vbOKOnly, " UsedRange方式"

运行效果如图:

可以看到使用UsedRange的方式得到的数据最后一行行号是正确的。

使用UsedRange的其他便利性

使用UsedRange的另一个便利的性是,调用循环调用方便。不需要用字母的参数调用单元格,而是直接传入行号、列号就可以了。

  ' 三、使用UsedRange方式计算总成绩For ir = 2 To FinalRowWith uR.Item(ir, 5).Value = .Item(ir, 3).Value + .Item(ir, 4).ValueEnd WithNext

本文所有代码

Sub Test()' 一、使用End方式取得最后一行行号 和 最后一列列号Dim FinalRow As IntegerDim FinalCol As IntegerFinalRow = Range("A65536").End(xlUp).Row '得到A列最后数据的行数FinalCol = Range("ZZ1").End(xlToLeft).Column '得到1行最后数据的列数MsgBox "最后一行数据的行号:" & FinalRow & "  最后一列数据的列号:" & FinalCol, vbOKOnly, " End方式"' 二、使用UsedRange方式取得最后一行行号Dim uR As VariantSet uR = ActiveSheet.UsedRangeFinalRow = uR.Rows.CountFinalCol = uR.Columns.CountMsgBox "最后一行数据的行号:" & FinalRow & "  最后一列数据的列号:" & FinalCol, vbOKOnly, " UsedRange方式"' 三、使用UsedRange方式计算总成绩For ir = 2 To FinalRowWith uR.Item(ir, 5).Value = .Item(ir, 3).Value + .Item(ir, 4).ValueEnd WithNextEnd Sub

【Excel VBA】超级实用的UsedRange相关推荐

  1. 计算机表格快捷键,工具 | 20个超级实用的Excel快捷键,会用5个是高手!

    原标题:工具 | 20个超级实用的Excel快捷键,会用5个是高手! Excel快捷键可以大幅提高工作效率,一般的快捷键大家都已熟练使用.今天高顿君分享的是很少有人使用,但又非常实用的Excel快捷键 ...

  2. 计算机excel必备知识,Excel超级实用技巧12则 -电脑资料

    大家经常用Excel制作表格,处理数据,怎样才能提高工作效率呢?下面我们就为大家整理12则Excel常用小技巧, 1.用Excel计算多列数据的运算结果时,你可以在旁边的一列显示出它的每步计算经过,用 ...

  3. 征服Excel VBA:让你工作效率倍增的239个实用技巧

    下载地址:https://webboy.pipipan.com/fs/19405313-362892031 内容简介: <征服Excel VBA:让你工作效率倍增的239个实用技巧>分16 ...

  4. 太实用了!Excel VBA常用代码!

    前两天有两位朋友留言想收集一些VBA的常用代码,今天开始会陆续分享一些! 记得收藏好哦,因为今后你应用到稍大型Excel VBA程序时,这其中某些代码肯定会用到. 来看看都是哪些常用代码: 下面先举一 ...

  5. 巧用Excel VBA 快速编排考场座位

    百度文库下载地址: 学校考试考场编排软件(单年级) http://wenku.baidu.com/view/464023029ec3d5bbfc0a740f.html 学校考试考场编排软件(多年级) ...

  6. Excel VBA编程常用语句300句

    Excel VBA编程常用语句300句 ************** * VBA 语句集 * * (第 1 辑) * ************** **************** * 定制模块行为 ...

  7. Excel+VBA+之快速上手

    第一章  VBA语言基础  第一节 标识符  一.定义  标识符是一种标识变量.常量.过程.函数.类等语言构成单位的符号,利用它可以完成对变量.常 量.过程.函数.类等的引用.   二.命名规则  1 ...

  8. EXCEL VBA常用语句100句

    以下转自:http://www.bbioo.com/blog/bio/guohui/1524.htm EXCEL VBA常用语句100句 定制模块行为 Option Explicit '强制对模块内所 ...

  9. Excel+VBA+之快速上手(2)

    三.图表格式设置  对于图的格式设置,一般是录制一个宏,再删除不需要的语句,这样是开发者最省事的方法.在本节 的示例中有详细的格式设置,可以更改坐标轴的名礀,大小范围,刻度大小等.对不清楚的图的类型名 ...

最新文章

  1. Science子刊: 长期杀虫剂诱导选择下的宿主基因组与微生物组的共适应
  2. couchdb 任意命令执行漏洞(cve-2017-12636)
  3. 布道微服务_05RPC远程服务调用的实现
  4. 信息系统项目管理师-成本管理知识点
  5. PKUWC 2018 滚粗记
  6. Gym - 101471D Money for Nothing(决策单调性+分治+贪心)
  7. k8s php mysql_在k8s上部署第一个php应用
  8. Android Canvas绘制带箭头的直线
  9. jaxl php,php往mysql写数据,中文乱码有关问题
  10. jmeter脚本写个小demo(html论坛自动发帖、json龙果学院-前后端分离)
  11. 邬贺铨/余晓晖/田溯宁…千家从业者,数十位行业大咖共同烹制了一场怎样的AIoT“盛宴”?
  12. springMVC接收数组参数
  13. Vue中默认main.js
  14. 华为盒子 原生android,华为悦盒/各种安卓盒子找回原生设置以及适配蓝牙遥控器...
  15. C语言 - MISRA代码规范
  16. Java:萌新之路——银行账户管理系统
  17. 中集集团高科技企业中集飞瞳,贯彻国家人工智能与实体经济深度融合战略,成熟AI产品智能航运智能化港航智慧港口智能铁路智能多式联运
  18. 各种各样的分布函数-Γ分布
  19. 和讯博客设置友情链接
  20. 个人作业——A002-185-2515-郑远曦

热门文章

  1. Android官方文档之App Components(Common Intents)(转载)
  2. BUAA OO 第二单元总结
  3. 亚马逊和ebay,你们现在都是用什么收款平台啊?
  4. Python object()函数
  5. 视频去水印教程2023年最新版
  6. Python运维开发基础10-函数基础【转】
  7. DECIMAL函数MYSQL详解
  8. 大学生计算机专业macbookair,国内大学生标配:苹果PC MacBook Air
  9. 17. 程序员生存定律--表达背后的力量(2)
  10. linux 中 top 命令参数详解