【Excel VBA】批量新建并重命名工作表

一、需求

根据sheet1所列名称,添加并重命名新的工作表。
【Excel VBA】批量新建并重命名工作表_第1张图片

二、实现
1.按照从前往后的顺序
Sub cre_ren_sheets()
	Dim num% 
	/* 定义为integer*/
	num = Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))
	/* num是非空单元格数*/
	
	For i = 1 To num
	    Sheets.Add after:=ActiveSheet
	    Sheets(i + 1).Select
	    Sheets(i + 1).Name = Sheet1.Cells(i, 1)
	Next i
End Sub

在这里插入图片描述

2.按照从后往前的顺序
Sub cre_ren_sheets()
	Dim num%
	num = Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))
	
	For i = 1 To num
	    Sheets.Add
	    Sheets(1).Name = Sheet1.Cells(i, 1)
	    /* Sheet1=Sheets(i+1), sheet1随着新工作表的建立被往后挤,序列数随之增大*/
	Next i
End Sub

在这里插入图片描述

三、注意事项
1.代码中的索引号和新建sheet默认命名不一定一致,代码按照顺序,工作簿只是名称。

【Excel VBA】批量新建并重命名工作表_第2张图片

2.工作表的命名要求

【Excel VBA】批量新建并重命名工作表_第3张图片

你可能感兴趣的:(Excel)