VBA高级应用30例应用3Excel中的ListObject对象:选择表的一部分

《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴"实战",并做"战术总结",以便大家能很好的应用。教程的目的是要求大家在实际工作中分发VBA程序,写好的程序可以升级 。本套教程共三册三十个专题,本讲的内容是:VBA高级应用30例应用3在Excel中的ListObject对象:选择表的一部分

分享成果,随喜正能量】 生活活的是心态,当你消极抑郁时,它就是漫长乏味的,当你热情积极时,它就是精彩充实的。

应用3 在Excel中的ListObject对象

在VBA中,表(Tables)的应用还是较普遍的,它们被称为ListObjects,这是Excel 2003引入的一个集合。但是对象模型的这一部分有很大的变化,我在这个专题简单给大家讲解一下应用,包括创建及一些格式操作。

3 选择表的一部分

在实际工作中我们也可能需要处理表的特定部分。这里有几个例子说明如何实现这一点。我们看下面的代码,这段代码中的代码有:① 如何选择整个表 ② 如何选择表的数据 ③ 如何选择表的某个列 ④ 如何选择表列的数据 ⑤ 如何选择表的表头 ⑥ 如何选择表的某行 等等,这些代码对于我们实际应用是非常有用的。

看下面的代码:

Sub mynzSelectingPartOfTable()

Dim oSh As Worksheet

Set oSh = ActiveSheet

'方法一: with the listobject

With oSh.ListObjects("myTable1")

MsgBox .Name

'选择整个表

.Range.Select

'仅选择整个表的数据

.DataBodyRange.Select

'选择第三列

.ListColumns(3).Range.Select

'仅选择第一列的数据

.ListColumns(1).DataBodyRange.Select

'仅选择第4行(标题行不计算!)

.ListRows(4).Range.Select

End With

'方法二: with the range object

'选择整个列(仅限数据)

oSh.Range("myTable1[列2]").Select

'选择整个列(数据加标题)

oSh.Range("myTable1[[#All],[列1]]").Select

'选择表的整个数据部分

oSh.Range("myTable1").Select

'选择表头

Range("myTable1[#Headers]").Select

'选择整个表

oSh.Range("myTable1[#All]").Select

'在表中选择一行

oSh.Range("B5:D5").Select

End Sub

代码的截图:

代码的讲解:以上代码利用了两种方案实现了本节开头的功能。希望大家能在工作中实际的利用这些。

代码的测试,由于我上述代码是写在一起的,大家在测试的时候可以增加断点或者按F8键逐行测试即可:

就测试到这里,请学员自己测试完成。

正如您可能已经注意到的,当前的Excel版本处理表时就像处理Range名称一样。插入表后,将自动定义范围名称。删除一个表后,定义的名称也将被删除。

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

相关推荐
扫地的小何尚3 分钟前
NVIDIA Dynamo深度解析:如何优雅地解决LLM推理中的KV缓存瓶颈
开发语言·人工智能·深度学习·机器学习·缓存·llm·nvidia
yi碗汤园1 小时前
【一文了解】C#的StringSplitOptions枚举
开发语言·前端·c#
无敌最俊朗@2 小时前
C++ 序列容器深度解析:vector、deque 与 list
开发语言·数据结构·数据库·c++·qt·list
Da Da 泓2 小时前
LinkedList模拟实现
java·开发语言·数据结构·学习·算法
Humbunklung3 小时前
VC++ 使用OpenSSL创建RSA密钥PEM文件
开发语言·c++·openssl
Humbunklung3 小时前
填坑:VC++ 采用OpenSSL 3.0接口方式生成RSA密钥
开发语言·c++·rsa·openssl 3.0
zl21878654484 小时前
Playwright同步、异步、并行、串行执行效率比较
开发语言·python·测试工具
Tony Bai5 小时前
【Go开发者的数据库设计之道】05 落地篇:Go 语言四种数据访问方案深度对比
开发语言·数据库·后端·golang
gopyer5 小时前
180课时吃透Go语言游戏后端开发3:Go语言中其他常用的数据类型
开发语言·游戏·golang·游戏后端开发
come112345 小时前
Go vs. PHP:核心优势劣势对比
开发语言·golang·php