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 工作簿中的一个单一工作表。
  • 用途:用于直接操作工作表中的数据、格式和属性。
vbnet 复制代码
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Range("A1").Value = "Hello, World!"

4-2、Sheet 对象

  • 定义Sheet 对象是一个更广泛的术语,它代表工作簿中的一个工作表(Worksheet)、图表(Chart)或对话框表(DialogSheet)。
  • 用途 :用于通用操作,当你不确定对象类型时可以使用。
vbnet 复制代码
Dim sh As Sheet

' 获取第一个工作表,可以是 Worksheet、Chart 或 DialogSheet
Set sh = ThisWorkbook.Sheets(1) 

4-3、Worksheet对象 对比 Sheet对象

  1. 层次关系
    • Sheet 是更一般的对象,可以包含 WorksheetChartDialogSheet
    • WorksheetSheet 的一个特定类型,专门用于工作表操作。
  2. 使用场景
    • 使用 Worksheet 对象时,你明确知道你在操作一个工作表,可以访问工作表特有的属性和方法。
    • 使用 Sheet 对象时,你可能不确定对象的类型,因此只能访问通用的属性和方法。
  3. 类型转换
    • 当你从 Sheet 对象获取到一个对象时,你可能需要将其转换为 Worksheet 对象以访问特定属性或方法。这可以通过类型检查(Type Checking)和转换(Type Casting)来实现。
vbnet 复制代码
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对象

相关推荐
勇太的数分之旅2 小时前
Excel大厂自动化报表实战(互联网金融-数据分析周报制作下)
信息可视化·金融·数据分析·自动化·excel·数据可视化
Channing Lewis9 小时前
sharepoint 共享excel,如何实现某个 sheet 别人只读,但是另一个 sheet 可以编辑
excel·sharepoint
霸王蟹1 天前
前端项目Excel数据导出同时出现中英文表头错乱情况解决方案。
笔记·学习·typescript·excel·vue3·react·vite
开开心心就好1 天前
高效账号信息管理工具,可安全随机生成密码
javascript·安全·docker·智能手机·pdf·word·excel
勇太的数分之旅1 天前
Excel大厂自动化报表实战(互联网金融-数据分析周报制作上)
金融·数据分析·自动化·excel·数据可视化
勇太的数分之旅1 天前
Excel大厂自动化报表实战(互联网金融-数据分析周报制作中)
金融·数据分析·自动化·excel·数据可视化
一晌小贪欢1 天前
【Python办公】使用pandas批量读取csv保存为Excel
python·excel·pandas·读取excel·python办公·excel转csv
小志开发2 天前
Excel VBA入门指南:解锁开发工具与编写你的第一个程序
microsoft·数据分析·excel
_oP_i2 天前
优化 Excel 文件可以提升文件性能、减少文件大小并加快计算速度
excel
Charlotte_jc2 天前
完美解决openpyxl保存Excel丢失图像/形状资源的技术方案
开发语言·python·excel·openpyxl