Dzwebs.Net

撰写电脑技术杂文十余年

UsedRange在VBA中的作用及范例

Admin | 2013-4-3 8:55:53 | 被阅次数 | 53042

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  使用UsedRange,可以获得工作表中的单元格内有效值的最后的一行和最后一列。这样我们就可以判断工作表到底使用到哪行和哪列,了解有效数据范围。

  UsedRange属性应用于Worksheet对象,返回指定工作表中已使用区域的Range对象,即返回工作表中已使用的单元格区域。因此,该属性也可以用于选取单元格区域。

  UsedRange属性的一些常见用法

  (1) 返回工作表中已使用区域的行数或列数

  语句Activesheet.UsedRange.Rows.count返回当前工作表中已使用单元格区域的行数。同样,语句Activesheet.UsedRange.Columns.count返回当前工作表中已使用单元格区域的列数。

  UsedRange属性的通用写法为

  <在此输入引用对象>.UsedRange.Rows.Count  <在此输入引用对象>.UsedRange.Columns.Count。

  (2) 返回工作表中已使用单元格区域的地址

  语句Activesheet.UsedRange.Address 返回当前工作表已使用单元格区域的地址。

  一般写法为<在此输入引用对象>.UsedRange.Address

  (3) 设置工作表中已使用单元格区域对象,并进行引用或操作。如下代码所示:

  Dim cellRange As Range,RowNum As Long,ColNum As Long
  Set cellRange=Worksheets(“Sheet1”).UsedRange ‘设置已用单元格区域并赋值给变量
  RowNum=cellRange.Rows.Count ‘已用单元格区域的行数
  ColNum=cellRange.Columns.Count ‘已用单元格区域的列数

  知识扩展:使用范例

  下面一段代码的功能是:在活动工作表已使用单元格区域中,当该区域不包含任何公式时,清除该区域不能打印的字符。

   Dim TheCell As Range
    For Each TheCell In ActiveSheet.UsedRange
      With TheCell
        If .HasFormula = False Then
          .Value = Application.WorksheetFunction.Clean(.Value)
        End If
      End With
    Next TheCell

  其中,ActiveSheet.UsedRange 代表当前工作表中已使用单元格区域组成的Range对象。(By Chip Pearson)

  最后再看一段最简单的代码:

  Dim lngYCnt As Long
  Dim intXCnt As Integer
 
  lngYCnt = Worksheets(Sheet1).UsedRange.Rows.Count
  intXCnt = Worksheets(Sheet1).UsedRange.Columns.Count
  MsgBox 最后行:intYCnt; 最后列: lngXCnt

  通过对话框来提示Sheet1中已使用的最大行和列的范围。


该杂文来自: Excel杂文

上一篇:在excel中双击的16种用途

下一篇:重复数据只显示其中一条

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计