如何在不循环的情况下按名称选择特定工作表

时间:2013-06-07 13:21:43

标签: .net vb.net excel

有没有办法直接按工作表名称选择工作簿中的特定工作表,而不是像......那样做...

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

我认为这就像打字一样简单

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

显然这并不容易......

我也有这条线的问题......

Dim myWorksheets As Worksheets = myWorkbook.Worksheets 

上面一行代码说我正在从Sheets到Workheets进行隐式转换。有什么问题?

2 个答案:

答案 0 :(得分:3)

  

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

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

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

答案 1 :(得分:0)

我这样做的方法是激活其他工作表,然后激活/选择特定的工作表。

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