Passing sheet (using codename) to separate sub as optional paramet
to test it, you need to call it with another macro. Also modified one line:
Sub dk()
Call ShowAllSheets(Sheets("Sheet2")) 'This can be a problem area for
other users.
End Sub 'They can
get type mismatch errors here.
Sub ShowAllSheets(Optional IndSht As Worksheet)
Dim sht As Worksheet
'name<codename, but irrelevant -just determines if a sheet was passed tothe
sub
If Not IndSht Is Nothing Then '<<<modified
IndSht.Visible = xlSheetVisible
Else
For Each sht In Excel.ActiveWorkbook.Worksheets
sht.Visible = xlSheetVisible
Next
End If
End Sub
"ker_01" wrote in message
...
I have a large, convoluted workbook. With some of my subs that bring in raw
data from other files, I want to unhide the sheet where that data is
pasted
just so I can review it (without unhiding all sheets). There are also some
subs where I want to unhide every worksheet in the workbook.
So, I wrote a sub that I thought would handle both, but I'm getting errors
when I try to call it, and it also fails when I place the cursor inside
the
sub and try to run it directly.
Sub ShowAllSheets(Optional IndSht As Worksheet)
Dim sht As Worksheet
'name<codename, but irrelevant -just determines if a sheet was passed to
the sub
If (IndSht.Name) < "" Then
IndSht.Visible = xlSheetVisible
Else
For Each sht In Excel.ActiveWorkbook.Worksheets
sht.Visible = xlSheetVisible
Next
End If
End Sub
When I try to run the code above, it pops up a dialogue box with a list of
macros to run, rather than just running this one as I would have expected.
Also, when I try to call the sub (below) I get a run time error 438,
object
doesn't support this property or method
Sub ALoad_FinRTs()
ShowAllSheets (Sheet15)
'do stuff
End Sub
I think I have more than one problem here, but I'm not sure what the
problem
is, so I can't experiment with solutions...
Thanks!
Keith
|