12、[VBA入门到放弃笔记] Usedrange属性

Usedrange属性并不是单元格的属性,它是工作表的属性,是返回工作表中已经使用了的单元格区域。

Sub hy()
ActiveSheet.UsedRange.Select
End Sub
Paste_Image.png
  • 怎么样工作表中的单元格才算是使用了?如图所示,设置了行高,就代表单元格使用过了,UsedRange就会跟着单元格使用的范围越来越大,其他的操作如定义格式,设置背景颜色等等都会被认为使用过单元格。
  • UsedRange和CurrentRegion类似,有时候两个属性返回的单元格区域也是一样的。但要注意的是,两者的意义并不一样,返回的单元格区域要视实际情况而定。这里稍作提示,不多说。
  • UsedRange在实际运用中主要用到的是UsedRange.Rows.Count,返回工作表中已使用单元格区域的行数。

例子:删除工作表中的所有空行。先看下图。

  • 工作表中已使用的单元格区域是"$A$2:$F$16",工作表第1行并没有使用,最后的使用行行号是16,在第一张图片有木有看出来呢?
  • 现在我们要删除工作表中所有多余的空行,如果使用UsedRange.Rows.Count,是不能够删除第16行的空行。倒循环的时候,R=UsedRange.Rows.Count=15,并不是真正的最后的‘使用了的行’。
For i = R To 1 Step -1
Paste_Image.png
  • 解决的方法是:
  • 1、确定UsedRange的行数,如这里R=UsedRange.Rows.Count=15
  • 2、确定确定UsedRange第一行的行号,使用UsedRange.Rows(1).Row
  • 3、这里还需要注意的是,定义的变量R和RR都要为Long数据类型,因为Integer(-32768~32767)的范围太小,而07版excel有100多万行,远远超过了Integer的支持范围,这问题实际使用中常常发生出错。实际当中,定义为Long类型也比Integer类型效率要高。


LastRow = R + RR - 1 '行数+首行行号-1
'LastRow=15+2-1=16,通过这样计算,最终确定删除工作表中单元格区域的最后行号
Sub 删除所有空行()
Dim R As Long, RR As Long, i As Long, Counter As Long
Dim LastRow As Long '真正最后使用过的单元格行号
R = ActiveSheet.UsedRange.Rows.Count '使用过的行数
RR = ActiveSheet.UsedRange.Rows(1).Row '使用过的单元格区域首行行号
LastRow = R + RR - 1
Application.ScreenUpdating = False '关闭屏幕刷新
    For i = LastRow To 1 Step -1
        If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then '如果是空行,那么
            Rows(i).Delete '删除
            Counter = Counter + 1 '计算空行数量
        End If
    Next i
    Application.ScreenUpdating = True '开启屏幕刷新
    MsgBox Counter & " 空行已删除"
End Sub
结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • END属性常用来构建动态的单元格范围,获取有效的数据区域。 其写法是 要构建一个行数不断增加的动态单元格范围,如下...
    叶知行阅读 11,372评论 0 5
  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 22,074评论 6 49
  • 转自链接 目录 1.认识NPOI 2.使用NPOI生成xls文件 2.1创建基本内容 2.1.1创建Workboo...
    腿毛裤阅读 13,727评论 1 3
  • 聊斋里有两篇和异食癖相关的,其一为《蛇癖》,其二为第二卷之《龁石》。 《蛇癖》里男主角有名有姓,叫吕奉宁,他是山西...
    觉史氏阅读 6,218评论 0 0
  • 金枪手徐宁,原是东京禁军金枪班教师,常随侍御驾,在皇帝身边行走。没招谁,没惹谁,也没犯事,却因家传独门绝技...
    雪飞江湖阅读 3,138评论 0 0

友情链接更多精彩内容