在vb6中更改参数On error
Change parameters On error in vb6
我正在使用 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 中完成此操作?
不要使用错误来控制逻辑流,而是查看所有可用名称和select您想要的名称:
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
我正在使用 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 中完成此操作?
不要使用错误来控制逻辑流,而是查看所有可用名称和select您想要的名称:
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