Worksheet对象应用大全(3)-UsedRange属性详解
2009年07月20日, 1:36 下午 分享到微博:
(3 人投票, 平均: 5.00 out of 5)这是在以前的博客中发表的一篇日志,对其内容稍加整理并补充后,辑录于此,作为VBA应用大全系列的一部分。 关于UsedRange属性的基本概念
UsedRange属性应用于Worksheet对象,返回Range对象,代表指定工作表中已使用的区域,即返回工作表中已使用的单元格区域。因此,该属性也可以用于选取单元格区域。 下面用一个简单的例子来说明UsedRange属性的功能。如下图1所示的工作表:图1:一个带有数据的工作表 然后,在VBE编辑器中输入如下代码:Sub sample01() Worksheets(\End Sub
代码运行后,上面的工作表显示如下图2所示:图2:代码运行后的工作表
即在指定工作表中(本例为工作表Sheet1)已使用的范围被全部选中。可以看出,UsedRange属性返回工作表中所有已使用范围的单元格区域,而不管该区域数据间是否有空行或空格。
UsedRange属性的一些常见用法
(1)返回工作表中已使用区域的行数或列数
语句Activesheet.UsedRange.Rows.count返回当前工作表中已使用单元格区域的行数。同样,语句
Activesheet.UsedRange.Columns.count返回当前工作表中已使用单元格区域的列数。在上例中,您可以在立即窗口中输入下面语句,将返回相应的值。 Activesheet.UsedRange.Rows.count 20
Activesheet.UsedRange.Columns.count 4
一般写法为<在此输入引用对象
>.UsedRange.Rows.Count和<在此输入引用对象>.UsedRange.Columns.Count。
(2)返回工作表中已使用单元格区域的地址
语句Activesheet.UsedRange.Address 返回当前工作表已使用单元格区域的地址。在上例中,您可以在立即窗口中输入下面语句,将返回已使用单元格区域地址为$A$1:$D$20。 Activesheet.UsedRange.Address $A$1:$D$20
一般写法为<在此输入引用对象>.UsedRange.Address (3)设置工作表中已使用单元格区域对象,并进行引用或
操作。如下代码所示:Dim cellRange As Range,RowNum As Long,ColNum As Long
Set cellRange=Worksheets(\设置已用单元格区域并赋值给变量
RowNum=cellRange.Rows.Count '已用单元格区域的行数 ColNum=cellRange.Columns.Count '已用单元格区域的列数UsedRange属性应用示例现在,我们举几个例子,进一步说明UsedRange属性的用法。[示例一]下面的程序在活动工作表已使用单元格区域中,当该区域不包含任何公式时,清除该区域不能打印的字符。其中,ActiveSheet.UsedRange 代表当前工作表中已使用单元格区域组成的Range对象。(By Chip Pearson) Sub CleanUp()
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
End Sub
[示例二]下面的程序将当前工作表中已用单元格区域或所选单元格中第一个字符删除,其中,
ActiveSheet.UsedRange.Address代表当前工作表中已用单元格区域的地址。Public Sub
Delete_First_Character(Optional ByRef objRange As Range = Nothing) Dim objCell As Range On Error Resume Next
If (objRange Is Nothing) Then
Set objRange = Application.InputBox(Prompt:=\请选择单元格区域\
Title:=\删除第一个字符\ Type:=8, _
Default:=ActiveSheet.UsedRange.Address) '设置缺省选区为已用区域 End If
Err.Clear
Set objRange =
objRange.SpecialCells(xlCellTypeConstants)
If (Err.Number <> 0&) Or (objRange Is Nothing) Then
MsgBox \在指定的单元格区域中没有符合要求的单元格.\
vbExclamation Or vbOKOnly, _ ActiveWorkbook.Name Exit Sub End If
On Error GoTo Exit_Delete_First_Character
Application.ScreenUpdating = False
For Each objCell In objRange objCell = Mid$(objCell, 2) Next objCell
Exit_Delete_First_Character:
On Error Resume Next
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库Worksheet对象应用大全(3)-UsedRange属性详解在线全文阅读。
相关推荐: