分享

根据指定名称新建工作表,并去重--方法1

 Excel实用知识 2022-03-08

要求:给定一列工作表名称,根据名称新建工作表

问题:名称可能重复,也可能与现存的工作表名称重复

运行前后对比:

图片

图片

代码如下:

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

----------------------------------------

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多