vba 批量新建工作表
一 C 列没有重复值
初始表:
插入工作表:
Sub ShtAdd()
Rem==================== 根据C列的值新建不同的工作表
Dim i As Integer, sht As Worksheet
i = 2 '第一条记录的行号为2
Set sht = Worksheets("成绩表")
Do While sht.Cells(i, "C") <> "" '定义循环条件
Worksheets.Add after:=Worksheets(Worksheets.Count) '在所有工作表后插入新工作表
ActiveSheet.name = sht.Cells(i, "C").Value '更改工作表的标签名称
i = i + 1 '行号增加 1
Loop
End Sub
结果:
二、C 列有重复值
初始表:
插入表:
Sub ShtAdd()
Rem==================== 根据C列的班级名新建不同的工作表。
Dim i As Integer, ws As Worksheet
i = 2 '第一条记录的行号为2
Set ws = Worksheets("成绩表")
Do While ws.Cells(i, "C") <> "" '定义循环条件
On Error Resume Next '当没有对应班级工作表时,忽略下一行代码引起的运行是错误
If Worksheets(ws.Cells(i, "C").Value) Is Nothing Then
Worksheets.Add after:=Worksheets(Worksheets.Count) '在所有工作表后插入新工作表
ActiveSheet.name = ws.Cells(i, "C").Value '更改工作表的标签名称
End If
i = i + 1 '行号增加1
Loop
End Sub
结果:
非学无以广才,非志无以成学。