Excel VBA工作薄 7.3按照制定模板批量新增工作表 批量做表无烦恼

前景提要

之前两节我们学习了如何通过VBA实现批量创建空白工作表的方法,并且实现了在指定位置创建新的工作表,但是在实际的过程中,批量创建空白工作表的情况并不多见,比较常见的是批量创建指定模板的工作表,简单说就是将指定的模板批量创建N个表,然后再修改相应的位置的数据就可以了,如果手工操作的话,就比较麻烦,简单点的就先创建空白工作表,再将数据复制过来,水平高一点的,会选择通过直接移动工作表的方式来创建单个工作表,这都不是最简单

VBA最大的优势就是能够重复的机械动作,通过代码实现自动化,半自动化的操作,今天我们就来学习如何通过VBA带来将制定的模板创建N份,形成N个新的工作表。

场景模拟

还是用NBA季后赛的那个图来演示,我们将我们已经做好的西部首轮季后赛的对阵图和结果作为模板,因为东部首轮、次轮都可以用这样的模板来设计,我们可以直接拿过来作为模板参照

代码区

Sub adds()Dim num&, i&, sth As WorksheetSet sth = ActiveSheetnum = Application.InputBox("请问需要增加几个工作表", "确定增加数量", , , , , , 1)For i = 1 To num sth.Copy after:=ActiveSheetNext iEnd Sub

咦,不对啊,好像和上节的代码一模一样啊,真的吗?要仔细看清楚哦,代码虽然差不多,但是有很大的区别哦,我们稍后来分析代码

我们先来检测效果

先输入需要创建多少个新的工作表

假设我们要创建2个,暂时先把西部的季后赛三轮的情况弄好

从效果图中可以看出来,我们成功的创建了两个新的工作表,这次并不是空白的工作表哦,而是完全将我们创建好的模板进行了拷贝,并且放在了新的工作表中

虽然说起来有很多个步骤,又是新建工作表,又是拷贝原工作表,又是粘贴,其实就简单的一句代码,也不复杂,大家应该可以感受到了VBA的强大了吧

代码分析

好了 ,效果展示完成了,来看看代码实现的过程吧

其实说起来步骤很多,但是在VBA里面简单的一句代码既可以

sth.Copy after:=ActiveSheet

就这句话,那么这句话如何实现的呢?

我们来简单说下

先将我们西部首轮的表进行复制,

sth.copy

就是实现工作表复制的作用,非常简单,就不单独细说了。

然后按照上节的思路,复制之后,放在那里呢?当前活动工作表的后面,

after:=ActiveSheet

我们学习了两节课的理论,就这句话了,加上一个工作表的复制

OK,轻松的实现了通过模板来创建多个非空白工作表的场景需求,是不是很强大

(0)

相关推荐