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

devtools/2024/11/15 2:49:23/

《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/devtools/133756.html

相关文章

如何对PHP的API接口权限认证

对PHP的API接口进行权限认证是确保只有授权的用户或应用程序可以访问特定API资源的重要环节。以下是一些常用的PHP API接口权限认证方法: 一、API密钥(API Key) API密钥是一种简单的鉴权方式,通常用于限制对API的访问。每个用户…

IT运维的365天--019 用php做一个简单的文件上传工具

前情提要:朋友的工作室,有几个网站分布在不同的服务器上,要经常进行更新,之前是手动复制压缩包到各个服务器去更新(有写了自动更新的Shell脚本)。但还是觉得太麻烦,每次还要手动传输压缩包到各个…

SpringBoot(八)使用AES库对字符串进行加密解密

博客的文章详情页面传递参数是使用AES加密过得,如下图所示: 这个AES加密是通用的加密方式,使用同一套算法,前端和后端都可以对加密之后的字符串进行加密解密操作。 目前线上正在使用的是前端javascript进行加密操作,将…

【RabbitMQ】之高可用集群搭建

一、RabbitMQ 集群简介 1、默认集群原理1-1、RabbitMQ 集群简介 单台 RabbitMQ 服务器处理消息的能力是有瓶颈的,而且可靠性还无法保证,所以需要通过集群来提高消息的吞吐量和提高数据可靠性。 由于 RabbitMQ 本身是基于 Erlang 编写,而 Er…

单体架构 IM 系统之核心业务功能实现

在上一篇技术短文(单体架构的 IM 系统设计)中,我们讨论了在 “用户规模小、开发人员少、开发时间短” 的业务背景下,采取 “怎么简单怎么做,怎么快怎么来” 的研发策略,于是设计了 单体架构的IM系统&#x…

说说webpack proxy工作原理?为什么能解决跨域

webpack-dev-server 提供了一个 proxy 功能,可以帮助开发者在本地开发时解决跨域问题。要理解其工作原理以及为什么可以解决跨域问题,首先我们需要了解两个关键概念:跨域问题 和 代理的工作方式。 1. 跨域问题的本质 跨域问题是浏览器的同源…

C++并发编程中怎样避免死锁

在C并发编程中,死锁是一个常见的问题,特别是在使用多线程和锁机制时。死锁发生在两个或多个线程互相等待对方释放资源时,导致所有线程都无法继续执行。为了避免死锁,开发人员可以采用一些常用的方法和准则。以下是一些有效的方法和…

[C++]学习《DirectX12 3D 游戏开发实战》 第八天 利用 Direct3D 绘制几何体(续)

本章将介绍一些此书后面常会用到的绘图模式。首先讲解与绘图优化相关的内容,此处涉及“帧资源 (frame resource)”等概念。若采用帧资源,我们就得修改程序中的渲染循环,好处:不必在每一帧都刷新命令队列,继而改善 CPU …