Range 对象
在 Microsoft Excel 对象模型中,Range
是指工作表中的任何数量的单元格。由于它是基本的工作表单元,因此它通过不同的集合对象进行引用,并作为许多 Excel 工作表、工作簿和应用程序对象事件、属性和方法的参数返回。表 5-1 列出了返回 Range
对象的 Excel 应用程序属性和工作簿集合。
表 5-1. 返回 Range 对象的 Excel 集合和对象属性与方法
对象/属性/方法 | 用途说明 |
---|---|
Application.ActiveCell 属性 | 返回一个表示活动单元格的 Range 对象 |
Application.Range 属性 | 返回一个通过地址或名称引用的 Range 对象 |
Application.Selection 属性 | 返回活动窗口中选定的对象,可以是 Range 对象 |
Application.ThisCell 属性 | 返回一个表示从中调用用户自定义函数的单元格的 Range 对象 |
Range.Offset 属性 | 返回一个相对于当前 Range 对象偏移的另一个 Range 对象 |
Workbook.Names 集合 | 存储工作簿的命名范围 |
Worksheet.Names 集合 | 存储工作表的命名范围 |
Worksheet.Cells 属性 | 返回通过行和列编号引用的 Range 对象 |
Worksheet.Range 属性 | 返回通过其地址或名称引用的 Range 对象 |
解释:
Application.ActiveCell
:该属性返回当前活动单元格的Range
对象,这意味着用户当前选中的单元格。Application.Range
:你可以通过单元格地址(例如"A1"
)或名称(如命名范围)来获取Range
对象。Application.Selection
:该属性返回当前选中的对象,通常是一个Range
对象,但也可能是其他对象(例如图形或图表)。Application.ThisCell
:该属性在调用用户自定义函数时,返回当前单元格的Range
对象。Range.Offset
:该属性返回一个新Range
对象,表示当前范围的一个偏移位置,例如,移动到右边或下边的单元格。Workbook.Names
和Worksheet.Names
:这些集合分别存储工作簿和工作表的命名范围。Worksheet.Cells
:此属性返回通过行号和列号(如Cells(1, 1)
)引用的Range
对象。Worksheet.Range
:通过该属性,你可以通过单元格的地址或命名的范围来引用一个Range
对象。
简而言之,Range
对象是 Excel 中处理单元格及其区域的核心工具,可以通过多种方式进行访问和操作。
Microsoft Excel Range
对象的部分重要属性
属性 | 值类型 | 用途说明 |
---|---|---|
Address | 字符串 | 返回范围的引用地址 |
AllowEdit | 布尔值 | 确定在受保护的工作表中该范围是否可以编辑 |
Application | Application | 返回一个 Application 对象,表示 Microsoft Excel 窗口 |
Cells | Range | 返回一个 Range 对象,表示指定范围内的单元格 |
Column | 长整数 | 返回范围中第一个区域的第一列的列号 |
Columns | Range | 返回一个 Range 对象,表示范围内的所有列 |
Count | 长整数 | 返回范围内单元格的数量 |
CountLarge | 十进制 | 返回 .xlsx 工作簿中范围的单元格数量 |
CurrentArray | Range | 如果指定范围是数组的一部分,返回一个 Range 对象,表示整个数组 |
CurrentRegion | Range | 返回一个 Range 对象,表示当前区域 |
End | Range | 返回一个 Range 对象,表示包含源范围的区域的末尾单元格 |
EntireColumn | Range | 返回一个 Range 对象,表示包含指定范围的整列(或多列) |
EntireRow | Range | 返回一个 Range 对象,表示包含指定范围的整行(或多行) |
Formula | 字符串 | 返回或设置单元格的公式(A1样式) |
FormulaArray | 布尔值 | 返回或设置范围的数组公式 |
FormulaHidden | 布尔值 | 确定在工作表保护时,公式是否会被隐藏 |
HasArray | 布尔值 | 确定指定单元格是否是数组公式的一部分 |
HasFormula | 布尔值 | 确定范围内所有单元格是否包含公式 |
Hidden | 布尔值 | 确定行或列是否隐藏 |
Item | Range | 返回一个 Range 对象,表示从指定范围偏移后的范围 |
ListHeaderRows | 长整数 | 返回指定范围的标题行数 |
Locked | 布尔值 | 确定对象是否被锁定 |
MergeArea | Range | 返回一个 Range 对象,表示包含指定单元格的合并范围 |
MergeCells | 布尔值 | 确定范围或样式是否包含合并单元格 |
Name | 字符串 | 返回或设置引用范围的名称 |
Offset | Range | 返回一个 Range 对象,表示从指定范围偏移后的范围 |
Parent | Worksheet | 返回包含指定范围的工作表的 Worksheet 对象 |
Range | Range | 返回一个 Range 对象,表示范围地址 |
Resize | Range | 调整指定范围的大小(不调整命名范围的大小) |
Row | 长整数 | 返回范围中第一个区域的第一行的行号 |
Rows | Range | 返回一个 Range 对象,表示指定范围内的所有行 |
Value | 变体 | 默认属性;返回或设置指定范围的值 |
Value2 | 变体 | 返回或设置指定范围的单元格值;丢弃货币和日期格式选项,返回范围的纯值 |
Worksheet | Worksheet | 返回一个 Worksheet 对象,表示包含指定范围的工作表 |
解释:
Address
:提供范围的引用地址(例如"A1"
)。AllowEdit
:指示该范围是否可以编辑,在工作表保护时非常有用。Application
:返回代表 Excel 应用程序的对象。Cells
:返回指定范围中的所有单元格,通常用于遍历或操作单元格。Column
/Columns
:返回范围内的列号或列的Range
对象。Count
:返回范围内包含的单元格的数量。CountLarge
:对.xlsx
文件格式的工作簿中超大范围的支持。CurrentArray
:如果范围是数组的一部分,返回整个数组的范围。CurrentRegion
:返回与指定范围相连的区域,直到遇到空白单元格。End
:返回当前区域的末尾单元格。Formula
:获取或设置单元格的公式,支持 A1 样式的公式。MergeArea
:返回合并单元格区域,适用于合并单元格。Offset
:返回偏移指定范围的Range
对象。Rows
/Columns
:返回表示范围中行或列的Range
对象。
这些属性是 Excel VBA 编程中非常基础且常用的工具,能够帮助你高效地访问和操作工作表上的单元格范围。
Range 对象方法及其执行的操作
方法 | 执行的操作 |
---|---|
Activate | 激活范围的左上角单元格 |
AdvancedFilter | 根据条件范围过滤或复制数据 |
ApplyNames | 将名称应用于指定范围的单元格 |
AutoFilter | 使用自动筛选器过滤列表 |
AutoFit | 调整范围中列的宽度或行的高度,以适应最佳显示 |
AutoFormat | 使用预定义格式自动格式化指定的范围 |
AutoOutline | 自动为指定范围创建大纲 |
BorderAround | 为范围添加边框,并设置新边框的 Color 、LineStyle 和 Weight 属性 |
Calculate | 计算工作表中指定范围的单元格 |
Clear | 清除整个范围 |
ClearComments | 清除指定范围内的所有单元格评论 |
ClearContents | 清除范围中的公式 |
ClearFormats | 清除对象的格式 |
ClearHyperlinks | 删除指定范围中的所有超链接 |
ClearNotes | 清除指定范围中所有单元格的备注和声音备注 |
ClearOutline | 清除指定范围的大纲 |
Consolidate | 将多个工作表中的多个范围的数据合并为一个工作表中的单一范围 |
Copy | 将范围复制到指定的范围或剪贴板 |
CreateNames | 在指定范围内创建名称,基于工作表中的文本标签 |
Cut | 将范围的值剪切到剪贴板 |
Delete | 删除指定范围的值 |
Find | 在范围内查找特定信息,并返回表示该信息首次出现的单元格的 Range 对象 |
FindNext | 继续查找,找到下一个由 Find 方法开始的单元格 |
FindPrevious | 继续查找,找到上一个由 Find 方法开始的单元格 |
ListNames | 将所有显示的名称粘贴到工作表上,从范围中的第一个单元格开始 |
Merge | 创建一个由指定 Range 对象组成的合并单元格 |
PasteSpecial | 将从剪贴板复制或剪切的范围粘贴到指定范围 |
Replace | 返回一个布尔值,指示是否在指定范围内的单元格中找到并替换字符 |
Select | 选择指定的范围 |
Sort | 对范围进行排序 |
SpecialCells | 返回一个 Range 对象,表示符合指定类型和值的所有单元格 |
解释:
Activate
:激活范围中的第一个单元格,通常用于将焦点设置到特定单元格。AutoFilter
:启用或禁用自动筛选器,用于过滤数据。Clear
:清除选定范围内的所有内容,包括值、公式、格式等。Copy
/Cut
/PasteSpecial
:复制、剪切和粘贴范围的内容。Find
/FindNext
/FindPrevious
:查找特定内容,并返回符合条件的单元格。Merge
:将多个单元格合并为一个单元格,常用于合并标题单元格。Replace
:在范围内进行查找和替换操作。Sort
:对选定范围的数据进行排序。
这些方法提供了广泛的功能,可以对 Excel 中的单元格范围进行操作,帮助用户自动化数据处理和格式化工作。