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

ops/2024/11/13 23:58:55/

《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/ops/133413.html

相关文章

每日一题——第一百二十四题

题目&#xff1a;进制转换 #pragma once#include<stdio.h> #include<ctype.h> #include<string.h>/// <summary> /// //将字符串表示的任意进制数转为十进制 /// </summary> /// <param name"str">字符串</param> /// &l…

【游戏引擎之路】登神长阶(十三)——Vulkan教程:讲个笑话:离开舒适区

【游戏引擎之路】登神长阶&#xff08;十三&#xff09;——Vulkan教程&#xff1a;讲个笑话&#xff1a;离开舒适区 2024年 5月20日-6月4日&#xff1a;攻克2D物理引擎。 2024年 6月4日-6月13日&#xff1a;攻克《3D数学基础》。 2024年 6月13日-6月20日&#xff1a;攻克《3D…

Redis相关技术内容

1. Redis整体的技术全景 应用场景&#xff1a;数据结构的应用、缓存应用、集群应用 底层原理&#xff1a;线程模型、主从复制、负载均衡 ​ 数据结构、哨兵机制、数据分片 ​ AOF、 RDB 2. 并发承载 redis&#xff08;官方 10w/s&#xff09;数据库->mysql 并发范围&…

AI大模型开发架构设计(18)——基于大模型构建企业知识库案例实战

文章目录 1 LLM 大模型在工作中的实际应用以及局限性LLM 大模型工作中实际应用大模型2点局限性 2 基于大模型和向量数据库的企业级知识库架构剖析向量数据库向量数据库选型知识库文档检索增强(Retrieval Augmented Generation)向量数据库应用技术总体架构向量数据库应用离线索引…

Python的装饰器

一、概念 在Python中&#xff0c;装饰器本质是一个特殊的嵌套函数&#xff0c;它接收一个函数&#xff08;被装饰的函数&#xff09;做参数&#xff0c;并返回一个新的函数&#xff08;装饰后的函数&#xff09; 装饰器最大的作用&#xff1a;在不改变原有的函数&#xff08;…

Vue.js动态组件使用

在 Vue.js 中&#xff0c;动态组件是一种功能强大的特性&#xff0c;它允许你在同一个挂载点根据条件动态地切换不同的组件。这通常通过 Vue 的 <component> 元素和 is 特性来实现。以下是如何在 Vue 3 中使用动态组件的详细指南&#xff1a; 基本用法 定义组件&#xf…

后端:Aop 面向切面编程

文章目录 1. Aop 初步学习面向切面编程&#xff0c;EnableAspectJAutoProxy2. AOP的核心概念3. 前置通知&#xff08;Before&#xff09;4. 后置通知&#xff08;After&#xff09;5. 返回通知&#xff08;AfterReturning&#xff09;6. 异常通知&#xff08;AfterThrowing&…

VMware+Ubuntu+finalshell连接

安装教程&#xff1a;博客链接 下载地址&#xff1a;VMwareubuntu finalshell官网下载&#xff1a;finalshelll