自学内容网 自学内容网

VBA10-处理Excel的动态数据区域

一、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对象

  1. 层次关系
    • Sheet 是更一般的对象,可以包含 WorksheetChart 和 DialogSheet
    • Worksheet 是 Sheet 的一个特定类型,专门用于工作表操作。
  2. 使用场景
    • 使用 Worksheet 对象时,你明确知道你在操作一个工作表,可以访问工作表特有的属性和方法。
    • 使用 Sheet 对象时,你可能不确定对象的类型,因此只能访问通用的属性和方法。
  3. 类型转换
    • 当你从 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对象


原文地址:https://blog.csdn.net/qq_31532983/article/details/143597764

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!