繁体   English   中英

在VBA Excel中比较工作表名称

[英]Comparing Worksheet name in vba excel

我正在尝试将一个名称与已经存在的工作表进行比较,以查看它是否已创建。

Private Sub Workbook_Open()
    Dim Ldate As String
    Dim Lweekday As Integer
    Dim Newweek As String
    Dim Sname As String

    Ldate = Date
    Lweekday = Weekday(Ldate)

    If Lweekday = 1 Then
        Newweek = DateAdd("d", 3, Ldate)
        Sname = Month(Newweek) & "-" & Day(Newweek) & "-" & Year(Newweek)
        Sheets.Add.Name = Sname
        Application.CutCopyMode = False
        Worksheets("Template").Select
        Range("A1:A2").Copy
        Worksheets(Sname).Select
        Range("A1").PasteSpecial
        Application.CutCopyMode = False

     End If    
End Sub

基本上,我想检查工作表是否已创建以及是否已退出代码,如果没有,则将模板复制并粘贴到工作表中。

您可以简单地添加一个函数来检查它。

Private Function IsWorksheetExist(sName As String) As Boolean
    Dim oWS As Worksheet
    On Error Resume Next
    Set oWS = ThisWorkbook.Worksheets(sName)
    If oWS Is Nothing Then
        IsWorksheetExist = False
    Else
        IsWorksheetExist = True
    End If
    On Error GoTo 0
End Function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM