我正在使用vb6并自动执行一些要在大量电子表格中执行的任务。
问题是设置我的工作表。我正在使用的工作簿上的大多数语法是相同的,但是有些页面具有不同的名称。
目前正在使用
for x = 2 to cellcount
set worksheet = workbook.sheets("*typical sheet name*")
*rest of code
我想设置类似的东西
伪代码
for x = 2 to cellcount
On error goto errorhandler
set worksheet= workbook.sheets("*typical sheet name*")
Errorhandler:
set worksheet= workbook.sheets("*secondary sheet name*")
*rest of code
如何在vb6中完成?
答案 0 :(得分:3)
不要使用错误来控制逻辑流程,而是查看所有可用的名称并选择所需的名称:
Function GetBestMatchingSheet() As Worksheet
For Each GetBestMatchingSheet In ActiveWorkbook.Sheets
Select Case LCase$(GetBestMatchingSheet.Name)
Case "typical sheet name", "secondary sheet name", "third name"
Exit Function
End Select
Set GetBestMatchingSheet = Nothing
Next
End Function
...
dim foundSheet As Worksheet
set foundSheet = GetBestMatchingSheet()
If not foundSheet is Nothing then msgbox foundSheet.Name