我想看看工作表是否存在,然后选择工作表,但出现"Argument not Optional"工作表


    If CheckSheet() = True Then
        Worksheet.Select
    End If
Function CheckSheet(ByVal SheetName As String) As Boolean
    Dim Sheet As Worksheet
    Dim bReturn As Boolean
    For Each Sheet In ActiveWorkbook.Sheets
       If Sheet.Name = SheetName Then
           bReturn = True
           Exit For
       End If
   Next Sheet
   CheckSheet = bReturn
End Function

编译错误:参数不是可选的

然后按确定后突出显示检查表

这一行:

If CheckSheet() = True Then
        Worksheet.Select
End If

调用带有参数的函数,如以下行所示:

Function CheckSheet(ByVal SheetName As String) As Boolean

试试这个:

Dim wsName as String
wsName = "YourWorksheetName"
If CheckSheet(wsName) = True Then
            Sheets(wsName).Select
End If

编辑:正如@YowE3K指出的那样,您的.Select语句也需要知道有问题的工作表。将Worksheet.Select更改为Sheets("YourSheetName").Select

相关内容

最新更新