我想看看是否存在工作表,并select工作表,但“参数不可选”出现

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 

编译错误:参数不可选

然后按下确定后CheckSheet突出显示

这一行:

 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