要求:给定一列工作表名称,根据名称新建工作表 问题:名称可能重复,也可能与现存的工作表名称重复 运行前后对比: 代码如下: Sub CreatNewSheet1() 'VBA代码集锦 Dim MySht As Worksheet Dim NameRng As Range Dim LastRow As Long Dim ShtName As Range LastRow = ThisWorkbook.Sheets('Sheet1').Cells(Rows.Count, 1).End(xlUp).Row Set NameRng = ThisWorkbook.Sheets('Sheet1').Range('A2:A' & LastRow) On Error Resume Next '代码出错继续运行 For Each ShtName In NameRng '对每一个名字进行循环 Set MySht = Worksheets(ShtName.Value) '判断这个名字的工作是否存在,当工作簿不存在工作表Sheets(ShtName.value)时,这句代码会出错 If Err Then '如果报错,证明不存在这个名字的工作表,则 Worksheets.Add , Sheets(Sheets.Count) '新建一个工作表,位置放在已存在的工作表后面 ActiveSheet.Name = ShtName.Value '新建的活动工作表名称命名 Err.Clear '清除错误状态 Else '如果存在,就跳转到Next GoTo 0 End If 0: Next End Sub ----------------------------------------
|
|
来自: Excel实用知识 > 《新建,重命名,隐藏》