VBA根据A列数据批量建立工作表的代码如下:
Sub NewSht() Dim Sht As Worksheet, shtA As Worksheet Dim i As Long, strShtName As String On Error Resume Next '当代码出错时继续运行 Set shtA = ActiveSheet For i = 2 To shtA.Cells(Rows.Count, 1).End(xlUp).Row '单元格A1是标题,不读入,从第2行开始读取 strShtName = shtA.Cells(i, 1).Value '还记得这里我们为什么用这句代码吗? Set Sht = Sheets(strShtName) '当工作簿不存在工作表Sheets(strShtName)时,这句代码会出错,然后…… If Err Then '如果代码出错,说明不存在工作表Sheets(t),则新建工作表 Worksheets.Add , Sheets(Sheets.Count) '新建一个工作表,位置放在所有已存在工作表的后面 ActiveSheet.Name = strShtName '新建的工作表必然是活动工作表,为之命名 Err.Clear '清除错误状态 End If Next shtA.Activate '重新激活原工作表End Sub
…