如何按名称select特定工作表而不循环

有没有办法select一个工作簿中的工作表的名称直接而不是做一些像…

For Each sheet As Worksheet In workbook.Sheets .... Next 

我认为这会和打字一样简单

 Dim sheet as Worksheet = workbook.Sheets("mySheetName") 

显然这不是那么容易,但…

我也有这个问题的线…

 Dim myWorksheets As Worksheets = myWorkbook.Worksheets 

上面的代码行说我正在做一个从表格到工作表的隐式转换。 那里有什么问题?

当我尝试workbook.Sheets(“sheetName”)它告诉我,我试图将对象转换为工作表…

如果这是你得到的错误,只是这样做:

 Dim sheet as Worksheet = CType(workbook.Sheets("mySheetName"), Worksheet) 

我会这样做的方式是激活其他工作表,然后激活/select具体的工作表。

 Windows("WorkbookName.xlsm").Activate Sheets("SheetName").Activate