如何在vba中使用usedrange属性?
在 VBA 中,UsedRange 属性表示包含数据的工作表的范围。使用的范围从工作表中第一个有值的单元格到最后一个有值的单元格。就像下面的示例一样,您使用了从 A1 到 C11 的范围。
注意:UsedRange 属性是只读属性。
使用UsedRange编写代码
使用以下代码。
- 首先,您需要指定电子表格。
- 然后输入句点 (.) 并输入“UsedRange”。
- 之后,使用您想要使用的属性或方法。
- 最后,运行代码。
Sub vba_used_range() ActiveSheet.UsedRange.Clear End Sub
上面的代码清除了活动工作表的已使用范围中的所有内容。
复制使用的范围
使用以下代码复制整个UsedRange。
Sub vba_used_range() ActiveSheet.UsedRange.Copy End Sub
计算已使用范围内的行数和列数
您可以使用 count 属性来计算已使用范围的行数和列数。
MsgBox ActiveSheet.UsedRange.Rows.Count MsgBox ActiveSheet.UsedRange.Columns.Count
上面的两行代码显示一个消息框,其中包含已使用范围内的行数和列数。
激活已使用范围中的最后一个单元格
您还可以启用所用范围中的最后一个单元格(这将是工作表中使用的最后一个单元格)。考虑以下代码。
Sub vba_used_range() Dim iCol As Long Dim iRow As Long iRow = ActiveSheet.UsedRange.Rows.Count iCol = ActiveSheet.UsedRange.Columns.Count ActiveSheet.UsedRange.Select Selection.Cells(iRow, iCol).Select End Sub
此代码使用UsedRange 属性获取行数和列数,然后使用这些数字选择所用区域中的最后一个单元格。
请参阅另一个工作表中的UsedRange
如果您尝试引用活动工作表以外的工作表中使用的范围,VBA 将显示如下错误。
因此,您所引用的工作表必须被激活(只有这样您才能使用UsedRange 属性)。
Sub vba_used_range() Worksheets("Sheet4").Activate Worksheets("Sheet4").UsedRange.Select End Sub
这意味着您无法引用封闭工作簿中使用的范围。但您可以先打开工作簿,然后启用工作表以使用UsedRange 属性。
获取所使用范围的地址
使用以下代码行获取所使用范围的地址。
Sub vba_used_range() MsgBox ActiveSheet.UsedRange.Address End Sub
计算已使用范围内的空单元格数量
以下代码使用FOR (For Each) 循环,循环遍历所使用范围内的所有单元格,并对空单元格进行计数。
Sub vba_used_range() Dim iCell As Range Dim iRange As Range Dim c As Long Dim i As Long Set iRange = ActiveSheet.UsedRange For Each iCell In ActiveSheet.UsedRange c = c + 1 If IsEmpty(iCell) = True Then i = i + 1 End If Next iCell MsgBox "There are total " & c & _ " cell(s) in the range, and out of those " & _ i & " cell(s) are empty." End Sub
当您运行此代码时,它会显示一个消息框,其中包含单元格总数和空单元格数。
什么是VBA
相关教程
- 在 Excel 中使用 VBA 计算行数
- Excel VBA 字体(颜色、大小、类型和粗体)
- Excel VBA 隐藏和显示列或行
- Excel VBA 范围 – 使用范围和单元格
- 在 Excel 中使用 VBA 将边框应用于单元格