VBA代码解决方案第二十讲:EXCEL工作表的添加与删除

news2024/12/27 17:06:36

《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码摆好。

这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过渡教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是VBA代码解决方案第二十讲:EXCEL工作表的添加与删除a64234b9f6481a60dd0bd5a678b711d6.jpeg

【分享成果,随喜正能量】钟表,可以回到起点,却已不是昨天;日历,撕下一页简单,把握一天很难!时间,不急不慢、不言不语,却让地球人朝朝暮暮、忙忙碌碌!。

第二十讲 EXCEL工作表的添加与删除

大家好,今天继续讲解VBA代码解决方案,今日的内容是第20讲,EXCEL工作表的添加与删除。在工作簿中添加工作表使用Add方法,Add 方法应用于Sheets和Worksheets对象新建工作表、图表或宏表。

语法:expression.Add(Before, After, Count, Type)

参数

a) Before是可选的,指定工作表对象,新建的工作表将置于此工作表之前。

b) After是可选的,指定工作表对象,新建的工作表将置于此工作表之后。

如果Before和 After两者均省略,则新建的工作表将插入到活动工作表之前

c) Count可选,要新建的工作表的数目。默认值为 1。

d) Type可选,指定新建的工作表类型。

1 利用Add方法增加一个工作表的通用代码

如果增加一个工作表,可以参考下面的通用代码:

Sub mynz_20_1()

Dim sh As Worksheet

With Worksheets

Set sh = .Add(After:=Worksheets(.Count))

sh.Name = "MY"

End With

End Sub

代码截图:

a727a9aac85411b2e5aa86a59d7c2e4e.jpeg

代码解析:上述过程使用Add方法在工作簿中新建“MY”工作表。

a) 第2行代码声明变量Sh为工作表对象。

b) 第4行行代码使用Add方法在工作簿的最后新建一个工作表。

c) 第5行代码将添加的工作表重命名为“MY”。

2 批量添加工作表的代码

如果需要在工作簿中批量添加工作表,可以使用下面的代码:

Sub mynz_20_2()

Dim i As Integer

Dim sh As Worksheet

For i = 101 To 102

Set sh = Sheets.Add(After:=Sheets(Sheets.Count))

sh.Name = i

Next

End Sub

代码截图:

4d99a190a26ea8766159893b77890c55.jpeg

代码解析:

上述过程使用For...Next 语句和Add方法在工作簿中添加8张工作表并将添加的工作表依次重命名。

3 Delete方法删除工作表

使用Delete方法可以删除工作表,应用于工作表对象的Delete方法删除指定的对象。

语法如下:expression.Delete

参数expression是必需的。

在删除工作表时会有一个系统提示,在必要的时候要避免这个提示,如何编写这个代码呢?可以参考下面的部分。

4 添加新工作表通用方法

在运行添加工作表代码前先删除工作簿中的工作表虽然可以避免同名错误,但也可能误删除有用的工作表,因此更为严谨的方法是在添加前先判断工作簿中是否存在相同名称的工作表,然后再进行下一步的操作。

Sub mynz_20() '第20讲 EXCEL工作表的添加与删除

Dim sh As Worksheet

For Each sh In Worksheets

If sh.Name = "MY" Then

'MsgBox "工作簿中已有""MY""工作表,将删除原存在的工作表"

Application.DisplayAlerts = False

sh.Delete

Application.DisplayAlerts = True

Exit For

End If

Next

With Worksheets

Set sh = .Add(After:=Worksheets(.Count))

sh.Name = "MY"

End With

End Sub

代码截图:

a9515bb2adb79bf1ff129682cadd097c.jpeg

代码解析:

mynz_20过程是先检查工作表中是否含有“MY”工作表,如果有,立刻删除,最后使用Add方法在工作簿中新建“MY”工作表.

a) For Each…. Next…. 将遍历工作表,检查原工作表中是否含有“MY”的工作表。

b) MsgBox "工作簿中已有""MY""工作表,将删除原存在的工作表" 如果有“MY”的工作表,首先要弹出一个对话框,告知有这个工作表,将删除。(这句可以去掉)

c) Application.DisplayAlerts = False 将关闭弹出的警告对话框。

d) Application.DisplayAlerts = True 将打开弹出的警告对话框。

e) sh.Delete 删除原有的工作表。

f) Set sh = .Add(after:=Worksheets(.Count))

sh.Name = "MY"

添加一个新的工作表,工作表的名称为"MY"

代码运行结果:

19b48ab725cb4cac9e47f403dd78464a.jpeg

377134b3200b52ce87a01a495b9445d2.jpeg

今日内容回向:

1 ADD方法的意义是什么?

2 DELETE方法的意义是什么?

3 Application.DisplayAlerts 的意义是什么?

本讲内容参考程序文件:VBA代码解决方案(20-21).xlsm

596096f549b4ed8753f3d673b3da16ab.jpeg

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

fbbc8f3e4576a4ea1650ab4915e09bf2.jpeg

97ffdd24a03e78605c55d63d29cd2890.jpeg



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2251187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode-315. Count of Smaller Numbers After Self

目录 题目描述 解题思路 【C】 【Java】 复杂度分析 LeetCode-315. Count of Smaller Numbers After Selfhttps://leetcode.com/problems/count-of-smaller-numbers-after-self/description/ 题目描述 Given an integer array nums, return an integer array counts whe…

用c语言完成俄罗斯方块小游戏

用c语言完成俄罗斯方块小游戏 这估计是你在编程学习过程中的第一个小游戏开发,怎么说呢,在这里只针对刚学程序设计的学生,就是说刚接触C语言没多久,有一点功底的学生看看,简陋的代码,简陋的实现&#xff0…

23种设计模式-原型(Prototype)设计模式

文章目录 一.什么是原型设计模式?二.原型模式的特点三.原型模式的结构四.原型模式的优缺点五.原型模式的 C 实现六.原型模式的 Java 实现七. 代码解析八.总结 类图: 原型设计模式类图 一.什么是原型设计模式? 原型模式(Prototype…

基于大数据python 房屋价格数据分析预测可视化系统(源码+LW+部署讲解+数据库+ppt)

!!!!!!!!! 很对人不知道选题怎么选 不清楚自己适合做哪块内容 都可以免费来问我 避免后期給自己答辩找麻烦 增加难度(部分学校只有一次答辩机会 没弄好就延迟…

使用Grafana K6来测测你的系统负载能力

背景 近期我们有个号称会有很高很高并发的系统要上线,为了测试一下自己开发的系统的负载能力,准备了点海克斯科技,来看看抗不抗的住。 之前笔者写过用Apache JMeter进行压力测试的文章(传送门👉:https://…

Java 上机实践10(常用实用类)

(大家好,今天分享的是Java的相关知识,大家可以在评论区进行互动答疑哦~加油!💕) 目录 Plug:程序实现方法一(记事本) 方法二(IDEA) 实验一&…

28.UE5实现对话系统

目录 1.对话结构的设计(重点) 2.NPC对话接口的实现 2.1创建类型为pawn的蓝图 2.2创建对话接口 3.对话组件的创建 4.对话的UI设计 4.1UI_对话内容 4.2UI_对话选项 4.3UI_对话选项框 5.对话组件的逻辑实现 通过组件蓝图,也就是下图中的…

混沌工程/混沌测试/云原生测试/云平台测试

背景 私有云/公有云/混合云等具有复杂,分布式,环境多样性等特点,许多特殊场景引发的线上问题很难被有效发现。所以需要引入混沌工程,建立对系统抵御生产环境中失控条件的能力以及信心,提高系统面对未知风险得能力。 …

OpenMP出现Stack Overflow及其疑问

今天对着《OpenMP核心技术指南》练习OpenMP&#xff0c;其中一个案例: #include <stdio.h> #include <math.h> #include <omp.h>#define ITER 100000000void main() {int i;double A[ITER];for (i 0; i < ITER; i)A[i] 2.0 * i;#pragma omp parallel{/…

小F的矩阵值调整

问题描述 小F得到了一个矩阵。如果矩阵中某一个格子的值是偶数&#xff0c;则该值变为它的三倍&#xff1b;如果是奇数&#xff0c;则保持不变。小F想知道调整后的矩阵是什么样子的。 测试样例 样例1&#xff1a; 输入&#xff1a;a [[1, 2, 3], [4, 5, 6]] 输出&#xff1a…

【Python网络爬虫笔记】5-(Request 带参数的get请求) 爬取豆瓣电影排行信息

目录 1.抓包工具查看网站信息2.代码实现3.运行结果 1.抓包工具查看网站信息 请求路径 url:https://movie.douban.com/typerank请求参数 页面往下拉&#xff0c;出现新的请求结果&#xff0c;参数start更新&#xff0c;每次刷新出20条新的电影数据 2.代码实现 # 使用网络爬…

JiaJia-CP-1,2,3的WP(2)

一.JiaJia-CP-2 一看题目&#xff0c;聊天软件&#xff0c;用的什么聊天软件直接userassist看运行过什么程序 vol -f JiaJia_Co.raw --profileWin7SP1x64 userassist 发现Telegram.exe(小飞机) 可能性很大啊(真是个摸鱼大神) 除此之外&#xff0c;filescan也能看到&#xff0…

群控系统服务端开发模式-应用开发-前端邮箱短信通道开发

一、添加视图 在根目录下src文件夹下views文件夹下param文件夹下emailsms文件夹下&#xff0c;新建index.vue&#xff0c;代码如下 <template><el-tabs type"border-card"><el-tab-pane v-if"$store.getters.butts.includes(ParamEmailsmsIndex…

C/C++ 数据结构与算法【线性表】 顺序表+链表详细解析【日常学习,考研必备】带图+详细代码

1&#xff09;线性表的定义 线性表&#xff08;List&#xff09;&#xff1a;零个或多个数据元素的有限序列。 线性表的数据集合为{a1,a2,…,an}&#xff0c;假设每个元素的类型均为DataType。其中&#xff0c;除第一个元素a1外&#xff0c;每一个元素有且只有一个直接前驱元素…

高效特征选择:优化机器学习的嵌入式方法指南

高效特征选择&#xff1a;优化机器学习的嵌入式方法指南 文章目录 一、说明二、特征选择方法三、嵌入式方法四、Lasso正则化五、Python 中的 Lasso 实现六、决策树的特征重要性七、Python 实现八、嵌入式方法和递归特征消除九、结论 一、说明 假设您正在处理一个大型数据集&am…

系统架构:MVVM

引言 MVVM 全称 Model-View-ViewModel&#xff0c;是在 MVP&#xff08;Model-View-Presenter&#xff09;架构模式基础上的进一步演进与优化。MVVM 与 MVP 的基本架构相似&#xff0c;但 MVVM 独特地引入了数据双向绑定机制。这一创新机制有效解决了 MVP 模式中 Model 与 Vie…

家校通小程序实战教程04教师管理

目录 1 创建数据源2 搭建管理后台3 搭建查询条件4 功能测试总结 我们上一篇介绍了如何将学生加入班级&#xff0c;学生加入之后就需要教师加入了。教师分为任课老师和班主任&#xff0c;班主任相当于一个班级的管理员&#xff0c;日常可以发布各种任务&#xff0c;发布接龙&…

cesium 3Dtiles变量

原本有一个变亮的属性luminanceAtZenith&#xff0c;但是新版本的cesium没有这个属性了。于是 let lightColor 3.0result._customShader new this.ffCesium.Cesium.CustomShader({fragmentShaderText:void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial mate…

SpringBoot小知识(3):热部署知识

一、热部署 热部署是一个非常消耗内存的机制&#xff0c;在实际大型项目开发中几乎用不到&#xff0c;只有小型项目或者分模块或者不停机更新的时候才会用到&#xff0c;仁者见仁智者见智。 1.1 什么是热部署&#xff1f; 热部署是指在不停止应用程序或服务器的情况下&#xf…

vscode切换anaconda虚拟环境解释器不成功

问题&#xff1a; 切换解释器之后运行代码还是使用的原来的解释器 可以看到&#xff0c;我已经切换了“nlp”解释器&#xff0c;我的nltk包只在“nlp”环境下安装了&#xff0c;但是运行代码依然是"torch"解释器&#xff0c;所以找不到“nltk”包。 在网上找了各种…