newbie help - code need correcting

H

haitch2

Hi

Im very inexperiance with VBA so please be gental :rolleyes: Im trying
to learn

right i have a small bit of code conected to a macro to hide/show
worksheets when a check box is toggled.

Sub Macro1()

If Worksheets("2").Visible = True Then
Worksheets("2").Visible = False
If Worksheets("3").Visible = True Then
Worksheets("3").Visible = False
Else
Worksheets("2").Visible = True
Worksheets("3").Visible = True
End If

End Sub

It hides the sheets but i cant get them to reapear again.

i can get it to work for one sheet but not 2.

Thanks for any help
 
V

Vacation's Over

if sheet number no quotes, if you name sheets on the tab then use quotes

Sub Macro1()
With activeworkbook
If .sheets(2).Visible = True Then
.sheets(2).Visible = False
else
.sheets(2).visible = True
end if

If .sheets(3).Visible = True Then
.sheets(3).Visible = False
else
.sheets(3).visible = True
end if
end With

End Sub
 
S

Steve

Try copying the following code into a new module. Individually run them to
see what they do. to follow the loops, click anywhere within then module and
press F8 to watch the code advance line by line.


Sub ShIndex()
' all sheets are indexed. This gives the index number
For Each sh In Worksheets
MsgBox sh.Index
Next sh
End Sub


Sub ShName()
' This gives the sheet name
For Each sh In Worksheets
MsgBox sh.Name
Next sh
End Sub

Sub Shhide()
' this shows the Visible state of the sheets. -1 = visible 0 = not visible
For Each sh In Worksheets

MsgBox sh.Name & " " & sh.Visible

Next sh

End Sub

Sub ToggleShVisible()

For Each sh In Worksheets
If sh.Index <> 1 Then ' You can't hide all sheets so, skip index 1
sh.Visible = Not sh.Visible 'the 'Not' reverses the current
visible setting when used this way
End If
Next sh

End Sub
 
J

Jim Cone

h,

Since you are new, you will find the following useful...
http://www.cpearson.com/excel/newposte.htm

Jim Cone
San Francisco, USA


"haitch2" wrote in message
Hi
Im very inexperiance with VBA so please be gental :rolleyes: Im trying
to learn
right i have a small bit of code conected to a macro to hide/show
worksheets when a check box is toggled.
Sub Macro1()
If Worksheets("2").Visible = True Then
Worksheets("2").Visible = False
If Worksheets("3").Visible = True Then
Worksheets("3").Visible = False
Else
Worksheets("2").Visible = True
Worksheets("3").Visible = True
End If
End Sub
It hides the sheets but i cant get them to reapear again.
i can get it to work for one sheet but not 2.
Thanks for any help
 
R

Ragnar Midtskogen

Try this

If Worksheets("2").Visible = True Then
Worksheets("2").Visible = False
Else
Worksheets("2").Visible = True
End If
If Worksheets("3").Visible = True Then
Worksheets("3").Visible = False
Else
Worksheets("3").Visible = True
End If

Ragnar
 
H

haitch2

Thankyou for all your help, I have now got it to work as is should and i
think i understand were i went wrong, so thats a start.

Sorry to Jim Cone, i have read the the guide line now and will try to
be more specific next time, Thankyou.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top