Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
i have an application with lots of sheets, forms and modules and subs. with each error i would like the following code to be executed: private sub error() With Sheets("waarschuwing") Dim c As Integer .Visible = xlSheetVisible For c = 1 To Sheets.Count If Sheets(c).Name < "waarschuwing" Then Sheets(c).Visible = xlSheetVeryHidden End If Next End With ActiveWorkbook.Save ActiveWorkbook.Close End Sub however, the sub is in a module. I would like to have the on erro goto statement go to this sub in the error handling module. How can i do that in VBA? Thanks, Pierre -- Message posted via http://www.officekb.com |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
First, you would need to make your sub Public, not Private, to be visible
across modules. Also, I would not name it Error() as that is a reserved word in VBA causing potential confusion with the VBA built-in Error function. So I will call it "MyError" here. Then, in each function/sub where you wanted to use this as your error handler, you could do as illustrated below: Sub MySub() On Error goto MyErrHandler ' Regular code for sub goes here Exit Sub MyErrHandler: MyError End Sub Since your code closes the active workbook, I am assuming you do not need any code to continue at that point, but if you do need to continue, put a Resume Next statement after you call MyError: MyErrHandler MyError Resume Next End Sub -- - K Dales "Pierre via OfficeKB.com" wrote: Hi, i have an application with lots of sheets, forms and modules and subs. with each error i would like the following code to be executed: private sub error() With Sheets("waarschuwing") Dim c As Integer .Visible = xlSheetVisible For c = 1 To Sheets.Count If Sheets(c).Name < "waarschuwing" Then Sheets(c).Visible = xlSheetVeryHidden End If Next End With ActiveWorkbook.Save ActiveWorkbook.Close End Sub however, the sub is in a module. I would like to have the on erro goto statement go to this sub in the error handling module. How can i do that in VBA? Thanks, Pierre -- Message posted via http://www.officekb.com |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks K.
This helps a lot ! Pierre K Dales wrote: First, you would need to make your sub Public, not Private, to be visible across modules. Also, I would not name it Error() as that is a reserved word in VBA causing potential confusion with the VBA built-in Error function. So I will call it "MyError" here. Then, in each function/sub where you wanted to use this as your error handler, you could do as illustrated below: Sub MySub() On Error goto MyErrHandler ' Regular code for sub goes here Exit Sub MyErrHandler: MyError End Sub Since your code closes the active workbook, I am assuming you do not need any code to continue at that point, but if you do need to continue, put a Resume Next statement after you call MyError: MyErrHandler MyError Resume Next End Sub Hi, [quoted text clipped - 21 lines] Thanks, Pierre -- Message posted via OfficeKB.com http://www.officekb.com/Uwe/Forums.a...mming/200511/1 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Error problem | Excel Discussion (Misc queries) | |||
I tried to get around the problem of the pivot table field settingdefaulting to Count instead of Sum by running a macro of change the settingfrom Count to Sum. However, when I tried to run the Macro, I got error messageof run time error 1004, unable | Excel Worksheet Functions | |||
I tried to get around the problem of the pivot table field settingdefaulting to Count instead of Sum by running a macro of change the settingfrom Count to Sum. However, when I tried to run the Macro, I got error messageof run time error 1004, unable | Excel Discussion (Misc queries) | |||
Problem with #VALUE/0! error | Excel Worksheet Functions | |||
Unknown where is the problem on the Runtime error - Automation error | Excel Programming |