一、end获取数据边界
1、基本语法
1-1、示例:
2、配合row和column使用
2-1、示例1
2-2、示例2
此时,不管这个有数值的区域,怎么增加边界,对应的统计数据也会跟着变的!
二、end的缺陷
若是数据区域不连贯,则无法得到正确的行号和列号。
示例:
此时,使用end得到的就是空格前面的行号和列号。
解决方式:
从最后一行,网上获取
从最后一列,往左获取
此时还有一个问题,若是数据区域的边界上存在空的单元格,则还是会存在错误。
三、UsedRange
3-1、定义
UsedRange是worksheet的一个属性,它代表指定工作表上的所用区域。
UsedRange
属性是一个非常有用的属性,它返回一个 Range
对象,该对象表示工作表中实际使用过的区域。这包括所有包含数据或格式的单元格。通过 UsedRange
,你可以方便地获取或操作工作表中实际有内容的区域,而不必手动指定范围。
3-2、编写格式
工作表worksheet.UsedRange.方法/属性
3-3、示例
示例1:
示例2:
3-4、UsedRange局限
需要数据区域很干净。
四、worksheet对象
4-1、Worksheet 对象
- 定义:
Worksheet
对象代表 Excel 工作簿中的一个单一工作表。 - 用途:用于直接操作工作表中的数据、格式和属性。
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Range("A1").Value = "Hello, World!"
4-2、Sheet 对象
- 定义:
Sheet
对象是一个更广泛的术语,它代表工作簿中的一个工作表(Worksheet)、图表(Chart)或对话框表(DialogSheet)。 - 用途:用于通用操作,当你不确定对象类型时可以使用。
Dim sh As Sheet
' 获取第一个工作表,可以是 Worksheet、Chart 或 DialogSheet
Set sh = ThisWorkbook.Sheets(1)
4-3、Worksheet对象 对比 Sheet对象
- 层次关系:
Sheet
是更一般的对象,可以包含Worksheet
、Chart
和DialogSheet
。Worksheet
是Sheet
的一个特定类型,专门用于工作表操作。
- 使用场景:
- 使用
Worksheet
对象时,你明确知道你在操作一个工作表,可以访问工作表特有的属性和方法。 - 使用
Sheet
对象时,你可能不确定对象的类型,因此只能访问通用的属性和方法。
- 使用
- 类型转换:
- 当你从
Sheet
对象获取到一个对象时,你可能需要将其转换为Worksheet
对象以访问特定属性或方法。这可以通过类型检查(Type Checking)和转换(Type Casting)来实现。
- 当你从
Dim sh As Sheet
Set sh = ThisWorkbook.Sheets(1)
If TypeName(sh) = "Worksheet" Then
Dim ws As Worksheet
Set ws = sh ' 类型转换(隐式)
ws.Range("A1").Value = "Hello, Worksheet!"
End If
4-4、总结
- 使用
Worksheet
对象时,你针对的是具体的工作表,可以访问其特有的属性和方法。 - 使用
Sheet
对象时,你处理的是工作簿中的任何类型的表(工作表、图表或对话框表),但只能访问通用属性和方法。
回顾:Worksheets对象