VBA高级应用30例应用3在Excel中的ListObject对象:插入行和列

news/2024/11/13 15:24:05/

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

分享成果,随喜正能量】 以无我心行善,是无为之法。行善而不执着,是成就之因。

佛说:以无我相无人相无众生相无寿者相行一切善,即得阿耨多罗三藐三菩提。。

应用3 在Excel中的ListObject对象

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

4 插入行和列

ListObject对象还具有增加行及列的功能,例如:我们会用到ListRows的Add方法增加行,这时会用到“AlwaysInsert”参数。

  • ListRows.Add 方法:将新行添加到指定的 ListObject 表示的表中。

语法:expression.Add (Position, AlwaysInsert)

其中expression为一个代表ListRows对象的变量。

参数:

名称

必需/可选

数据类型

说明

Position

可选

Variant

整数。 指定新行的相对位置。

AlwaysInsert

可选

Variant

Boolean 类型的值 。 指定在插入新行时,是否始终移动表格中最后一行下面的单元格中的数据,而不考虑表格下面的行是否为空行。 如果为 True,则表格下面的单元格将下移一行。如果为 False,如果表格下面的行为空,表格将展开以占用该行,而不移动其下方的单元格,但如果表格下面的行包含数据,则插入新行时,这些单元格将下移

  • ListColumns.Add 方法:向列表对象中添加新列

语法:expression.Add (Position)

其中expression为一个代表 ListColumns 对象的变量。

参数:

名称

必需/可选

数据类型

说明

Position

可选

Variant

整数。 从 1 开始指定新列的相对位置。 以前位于此位置的列则向后移动。

我们看下面的代码:

Sub mynzTableInsert()

Dim oSh As Worksheet

Set oSh = ActiveSheet

oSh.ListObjects("myTable1").Range.Select

'在特定位置插入

Selection.ListObject.ListColumns.Add Position:=4

'在右边插入

Selection.ListObject.ListColumns.Add

'在上面插入

Selection.ListObject.ListRows.Add (11)

'在下面插入

Selection.ListObject.ListRows.Add AlwaysInsert:=True

End Sub

代码截图:

0d732cf285f9c4487d5a4d32ac9be65f.jpeg

代码的讲解:以上代码利用了Add方法分别插入了一些行和列,大家要注意以上语句的用法。这些用法都是我们在实际工作中经常用到的。列表对象对于实际工作有着非常重要的价值,值得我们深入的学习。

代码的运行测试:

5935798f5a53c32615c2b7a925d6eccc.jpeg

如果需要对新插入的行执行某些操作,可以将对象变量设置为新行:

Dim oNewRow As ListRow

Set oNewRow = Selection.ListObject.ListRows.Add(AlwaysInsert:=True)

oNewRow.Range.Cells(1,1).Value = "Value For New cell"

463e8a495982f9d4663dd7a01dc8b8bc.jpeg

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

99512dcb78d809b7903229104b4b9b6e.jpeg

e4a99a1f85e1309975bbb4eea73431e1.jpeg




http://www.ppmy.cn/news/1546705.html

相关文章

软考系统架构设计师论文:论多源数据集成及应用

试题二 论多源数据集成及应用 在如今信息爆炸的时代,企业、组织和个人面临着大量的数据。这些数据来自不同的渠道和资源,包括传感器、社交媒体、销售记录等,它们各自具有不同的数据格式、分布和存储方式。因此如何收集、整理和清洗数据,以建立一个一致、完整的数据集尤为重…

推荐一个Star超过2K的.Net轻量级的CMS开源项目

推荐一个具有模块化和可扩展的架构的CMS开源项目。 01 项目简介 Piranha CMS是一个轻量级且跨平台的CMS库,专为.NET 8设计。 该项目提供多种模板,具备CMS基本功能,也有空模板方便从头开始构建新网站,甚至可以作为移动应用的后端…

Oceanbase-Topk直方图

文章目录 计算公式:公式的含义:举例解释场景设定直方图记录情况结果分析 总结 计算公式: (1 - (1 / bucket_size)) * 100 这个计算公式,用来确定在 Topk 直方图中,哪些值会被认为是“重要值”,即超过特定的…

网络安全-蓝队基础

声明 学习视频来自 B 站UP主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 ✍🏻作者简介:致…

企业信息表的多维数据增强:资质属性与海关数据的添加方法

文章目录 摘要1. 背景介绍2. 原始数据简介海关数据 3. 企业资质添加:代码实现3.1 表格拼接3.2 企业资质属性添加 4. 海关数据添加5. 总结 摘要 本文探讨了如何通过企业资质和海关出口数据的加入,丰富企业信息表的维度,为企业分析提供更强大的…

进程 线程 和go协程的区别

进程和线程是操作系统中两个重要的执行单元,理解它们的区别对于编程和系统设计非常重要。以下是它们的主要区别: ### 进程(Process) 定义:进程是一个正在执行的程序的实例,具有独立的地址空间。 资源&…

使用JS实现文件流转换excel?

要在JavaScript中将文件流转换为Excel,可以使用第三方库,如SheetJS (也称为xlsx库)。以下是一个简单的例子,展示如何使用SheetJS将Blob文件流转换为Excel文件并导出。 首先,确保安装了xlsx库: npm install xlsx 然后…

esayExcel根据模板导出包含图片

1、效果 2、模板 3、工具类代码 /*** 根据模板填充* param response* param templateStream 模板文件流* param map 模板文件所需要的参数* param list list循环模板参数* throws IOException*/public static void templateFilling(HttpServletRequest servletRequest,HttpServ…