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

相关推荐
hPw0eKIqD12 小时前
使用二次封装的Excel COM 组件操作Excel\WPS ET中的区域、行和列
excel·wps
冰心孤城19 小时前
Excel: xls与xlsx格式转换排坑指南
java·前端·excel
金豆呀1 天前
WPS批量提取Word文档内容生成固定格式Excel表格
word·excel·wps
Access开发易登软件1 天前
Access 怎么做前后端分离?用 Web API 读写 SQL Server
前端·数据库·人工智能·microsoft·excel·access
红莲凪是2 天前
使用二次封装的Excel COM 组件操作Excel\WPS ET IExcelRange 高级应用
python·excel·wps
用户298698530142 天前
如何使用免费工具在线将 Excel 转换为 XML 格式
人工智能·后端·excel
开开心心就好2 天前
内存清理工具定时自动清理开机自启动
java·开发语言·elasticsearch·ocr·excel·音视频·big data
开开心心就好2 天前
电脑内存优化工具一键释放内存超简单
java·开发语言·macos·arcgis·ocr·excel·音视频
随手工具-Excel, pdf, SQL2 天前
没有 SSMS 导入向导?Excel/CSV 一键生成 SQL Server INSERT 脚本
excel·sql server·在线工具·insert·测试数据·ssms·t-sql
SunnyDays10113 天前
Python 将 Excel(XLS/XLSX)转换为 JSON:导出工作簿、工作表、单元格区域与自定义 JSON 结构
python·json·excel·excel 转 json·导出 excel 到 json·xlsx 转 json·xls 转 json