Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Problems with vb.veryhidden

Please help!

I am trying to very hide every worksheet in this workbook except for 3- one called RegionalControl, RegionalHelp, and one containing the word competition. Every time the code executes, it tells me it is unable to set the visible property. Here is my code:

Dim curwkbk As Workbook
Set curwkbk = ThisWorkbook
Dim wks As Worksheet
Dim wksname As String

For Each wks In curwkbk.Worksheets
wksname = wks.Name
If LCase(wks.Name) Like "*total*" Then
Worksheets(wksname).Visible = xlSheetVeryHidden
ElseIf LCase(wks.Name) Like "*Competition*" Then
'nothing
ElseIf wks.Name = "RegionalControl" Then
'nothing
ElseIf wks.Name = "RegionalHelp" Then
'nothing
Else
Worksheets(wksname).Visible = xlSheetVeryHidden
End If

Next wks

Thanks for any help you can give me!


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default Problems with vb.veryhidden

Hi Dumbass,

As written, your code will hide any sheet with Competition (any case) as
LCase anything can never match *Competition*
Therefore, change:
ElseIf LCase(wks.Name) Like "*Competition*" Then
to:
ElseIf LCase(wks.Name) Like "*competition*" Then

To allow for possible case errors in the other excluded sheets, it is
probably worth applying a similar case condition for them too, so that your
code becomes:

A small point, but the line:

If LCase(wks.Name) Like "*total*" Then
Worksheets(wksname).Visible = xlSheetVeryHidden

seems redundant.

Finally, if the intention is that the exclusion sheets should be visible, I
would apply an explicit visible = true condition in case one or more has
been hidden (by the user?).

Incorporating these comments, your code becomes:

Sub Tester()
Dim curwkbk As Workbook
Set curwkbk = ThisWorkbook
Dim wks As Worksheet
Dim wksname As String

For Each wks In curwkbk.Worksheets
wksname = wks.Name
If LCase(wks.Name) Like "*competition*" Then
Worksheets(wksname).Visible = True
ElseIf LCase(wks.Name) = "regionalcontrol" Then
Worksheets(wksname).Visible = True
ElseIf LCase(wks.Name) = "regionalhelp" Then
Worksheets(wksname).Visible = True
Else
Worksheets(wksname).Visible = xlSheetVeryHidden
End If
Next wks

End Sub

Running your code (adjusted for para #1), I could only replicate your error
if none of the three exclusion sheets was *visible*. Running the adjusted
code, I can only replicate your error if none of the three exclusion sheets
*exists*.

---
Regards,
Norman




"Dumbass" wrote in message
...
Please help!

I am trying to very hide every worksheet in this workbook except for 3-

one called RegionalControl, RegionalHelp, and one containing the word
competition. Every time the code executes, it tells me it is unable to set
the visible property. Here is my code:

Dim curwkbk As Workbook
Set curwkbk = ThisWorkbook
Dim wks As Worksheet
Dim wksname As String

For Each wks In curwkbk.Worksheets
wksname = wks.Name
If LCase(wks.Name) Like "*total*" Then
Worksheets(wksname).Visible = xlSheetVeryHidden
ElseIf LCase(wks.Name) Like "*Competition*" Then
'nothing
ElseIf wks.Name = "RegionalControl" Then
'nothing
ElseIf wks.Name = "RegionalHelp" Then
'nothing
Else
Worksheets(wksname).Visible = xlSheetVeryHidden
End If

Next wks

Thanks for any help you can give me!




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 218
Default Problems with vb.veryhidden

Try:

Sub HideSheets()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
If Not LCase(wks.Name) Like "*competition*" _
And Not wks.Name Like "Regional*" Then _
wks.Visible = xlSheetVeryHidden
Next wks
End Sub

Regards,
Greg


-----Original Message-----
Please help!

I am trying to very hide every worksheet in this workbook

except for 3- one called RegionalControl, RegionalHelp,
and one containing the word competition. Every time the
code executes, it tells me it is unable to set the visible
property. Here is my code:

Dim curwkbk As Workbook
Set curwkbk = ThisWorkbook
Dim wks As Worksheet
Dim wksname As String

For Each wks In curwkbk.Worksheets
wksname = wks.Name
If LCase(wks.Name) Like "*total*" Then
Worksheets(wksname).Visible = xlSheetVeryHidden
ElseIf LCase(wks.Name) Like "*Competition*" Then
'nothing
ElseIf wks.Name = "RegionalControl" Then
'nothing
ElseIf wks.Name = "RegionalHelp" Then
'nothing
Else
Worksheets(wksname).Visible = xlSheetVeryHidden
End If

Next wks

Thanks for any help you can give me!


.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
aauugghhh...#div/o problems & various average formula problems acbel40 Excel Worksheet Functions 5 October 19th 09 05:00 PM
Unable to password-protect "VeryHidden" worksheet exalan New Users to Excel 4 May 9th 09 08:13 AM
Sheet hidden and VeryHidden Marc Excel Discussion (Misc queries) 6 March 29th 05 12:33 AM
Accessing a "veryhidden" sheet Bob Phillips[_5_] Excel Programming 0 August 18th 03 06:00 PM
Stuck myself - can't bring back "VeryHidden" Ed[_9_] Excel Programming 3 July 22nd 03 03:42 AM


All times are GMT +1. The time now is 01:59 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"