VBA高级应用30例应用3在Excel中的ListObject对象:创建表

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

分享成果,随喜正能量】 善用心者,心田不长无明草,处处常开智慧花。时光长短,唯心所造。一切苦乐,随境所迁。。

应用3 在Excel中的ListObject对象

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

1 创建表

将范围转换为表格非常简单,在这套教程的第一个专题中我们给出了利用ListObjects.Add方法将一个范围转变为表对象的语法,大家可以再回顾一下:

ListObjects.Add 方法:创建新的列表对象

语法:expression.Add (SourceType, Source, LinkSource, XlListObjectHasHeaders, Destination, TableStyleName)

其中各个参数,我同样在讲解ListObjects.Add方法时候已经给出,这里不再多说。

代码:

Sub mynzCreateTable()

ActiveSheet.ListObjects.Add(xlSrcRange, Range("B1:D16"), , xlYes).Name = _

"myTable1"

ActiveSheet.ListObjects("myTable1").TableStyle = "TableStyleLight2"

End Sub

代码截图:

上述代码将在当前工作表中创建一个表,表的范围是"B1:D16",表的名称是:"myTable1",表的式样是:"TableStyleLight2"。

  • ListObject.TableStyle 属性:获取或设置指定的ListObject对象的表样式。 读/写 Variant。

表格式由表样式决定,作为工作簿对象成员的对象集合。大家可以根据自己的需要进行选择和更改。这个样式是和工作表界面中"表设计"中下面列表是对应的:

代码运行结果:

我们利用下面的代码可以改变表的格式:

Sub mynzChangeTableStyles()

ActiveWorkbook.TableStyles(2).TableStyleElements(xlWholeTable) _

.Borders.LineStyle = xlDash

End Sub

代码的截图:

代码的讲解:这将更改表格四周的线型为虚线。但是别着急!如果您打开了任何其他工作簿,则具有相同表样式的所有表现在都将使用更改后的样式!但是,如果保存文件,关闭Excel并再次打开该文件,更改将消失。这是因为您刚刚更改了一个内置表样式。工作簿是表样式的父级,而内置表样式的行为就像绑定到应用程序对象一样。

对于XlLineStyle 枚举 我们参考如下:

名称

说明

xlContinuous

1

实线。

xlDash

-4115

虚线。

xlDashDot

4

点划相间线。

xlDashDotDot

5

划线后跟两个点。

xlDot

-4118

点式线。

xlDouble

-4119

双线。

xlLineStyleNone

-4142

无线。

xlSlantDashDot

13

倾斜的划线。

代码的运行结果:

(待续)

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

相关推荐
Cyber4K13 分钟前
【Python专项】Nginx访问日志分析时间范围处理示例
开发语言·python·nginx
中犇科技22 分钟前
郑州无代码APP开发公司哪家好呢?推荐
开发语言
周末也要写八哥26 分钟前
代码中的注释的重要性(二)
开发语言·python
江南十四行2 小时前
Python生成器与协程:从迭代器到异步编程的进阶之路
开发语言·python
测试员周周2 小时前
【AI测试功能3】AI功能测试的三层架构:单元测试 → 集成测试 → E2E测试——AI系统测试金字塔实战指南
开发语言·人工智能·python·功能测试·架构·单元测试·集成测试
lly2024062 小时前
AppML 案例原型
开发语言
jllllyuz2 小时前
MATLAB 回声抵消(AEC)、噪声抑制(NS)、自动增益控制(AGC)完整实现
开发语言·matlab
froginwe112 小时前
Vue.js 计算属性
开发语言
05候补工程师2 小时前
【408 从零到一】线性表逻辑特征、存储结构对比与 C/C++ 动态内存分配避坑指南
c语言·开发语言·数据结构·c++·考研
yongui478343 小时前
MATLAB 使用遗传算法求解微电网优化配置数学模型
开发语言·matlab