Excel VBA批量新建工作表

一、先来看一下如何在VBA中给工作表命名,用到的一个属性类型的动作就是Name。

1. 打开Visual Basic,添加一个新的模块和过程,称之为“命名工作表”。

Sub 命名工作表()

End Sub

2. 添加命名工作表的代码,这里比如要修改Sheet1的名字为“表1”。

Sub 命名工作表()

Sheet1.Name = "表1"

End Sub

3. 执行以上代码后,在Excel中可以看到当前工作表的名称已经改变了。

二、新增多张工作表并为其命名

1. 打开Visual Basic,添加一个新的模块和过程,称之为“新建工作表”。

Sub 新建工作表()

End Sub

2. 如之前的案例,创建2020年1至12月共12张工作表。这里在过程中添加一个for循环,让新增工作表的执行动作重复12次,即要新建12张工作表。

Sub 新建工作表()

Dim i As Integer

For i = 1 To 12

Next

End Sub

3. 写入新建工作表的代码。

Sub 新建工作表()

Dim i As Integer

For i = 1 To 12

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


    Sheets(Sheets.Count).Name = "2020年" & i & "月"

Next

End Sub

4. 分析一下带Sheets的这一段代码。

1) Sheets.Add after:=Sheets(Sheets.Count):每次在新增工作表时都在最后一张工作表的后面执行。

2) Sheets(Sheets.Count).Name = “2020年”& i & “月”:

这里的Sheets.Count返回的值和上一行代码中的不一样,上一行中返回的值是当前工作表总数,而这行返回的是新增工作表后的工作表总数,在此例中即为上一行的Sheets.Count+1;

.Name后面用“=”符号赋值,然后命名为如“2020年1月”、“2020年2月”等。

5. 执行以上代码后,即可在Excel文件中新增12张工作表。

你可能感兴趣的:(Excel VBA批量新建工作表)