Excel VBA之插入工作表和计算工作表的结合

如何每次新增工作表都是在最后一张工作表的后面执行?

一、这里先介绍一个Sheets.Count,也就是计算当前Excel文件中所有工作表的数量。

1. 在VBA中新增一个模块和过程,称之为“计算表数”。

Sub 计算表数()

End Sub

2. 添加Sheets.Count到过程中,同时将其值写入某个单元格里。

Sub 计算表数()

Range("A1") = Sheets.Count

End Sub

3. 执行以上代码后会得到结果是6,即此Excel文件有6张工作表。

4. 为什么要将其值写入单元格里?因为这里Count并不像之前的Add是一个有实际操作的动作,Count是计算表的数量并返回一个值,是一个属性类型的动作,即告诉我们此Excel文件一共有多少张工作表。

如果没有将其值写入单元格,则会在执行时报错。如图:

二、Sheets.Add和Sheets.Count的结合使用

1. 在给Sheets.Add的After后面给定参数时,不再用具体的工作表名称,而是用Sheets.Count作为工作表的索引。(注意:这里过程名可以把“计算表数”改成“新增表”)

Sub 计算表数()

Sheets.Add after:=Sheets(Sheets.Count)

End Sub

Sheets.Count计算出的工作表总数,例如当前有6张工作表,那Sheets.Add就在第6张工作表后面新增工作表。

2. 执行以上代码后,可以看到新增的工作表为Sheet1,是在之前最后一张工作表Sheet2后面。

你可能感兴趣的:(Excel VBA之插入工作表和计算工作表的结合)