+ Reply to Thread
Results 1 to 4 of 4

Macro to unhide/hide sheet(s)

Hybrid View

  1. #1
    Registered User
    Join Date
    10-23-2008
    Location
    Denver
    Posts
    31

    Macro to unhide/hide sheet(s)

    I am attempting to run a macro that unhides a sheet. The issues is that the workbook contains 5 worksheets (let's call them Sheet1-Sheet5) that may be needed, but I only want 1 unhidden at a time.

    If there is a macro to hides them one at a time as well that would be brilliant.

    Cheers,
    C

  2. #2
    Forum Expert royUK's Avatar
    Join Date
    11-18-2003
    Location
    Derbyshire,UK
    MS-Off Ver
    Xp; 2007; 2010
    Posts
    26,200
    You can only unhide the sheets, you can't pause the macro between (un)hiding.

    What exactly do you mean?
    Hope that helps.

    RoyUK
    --------
    For Excel Tips & Solutions, free examples and tutorials why not check out my web site

    Free DataBaseForm example

  3. #3
    Forum Contributor VBA Noob's Avatar
    Join Date
    04-25-2006
    Location
    London, England
    MS-Off Ver
    xl03 & xl 07(Jan 09)
    Posts
    11,988
    Maybe

    Sub HideSheets()
    Dim shname As String
    Dim Wsht As Worksheet
    Do Until WorksheetExists(shname)
        shname = InputBox("Enter sheet name")
        If Not WorksheetExists(shname) Then MsgBox shname & " doesn't exist!", vbExclamation
    Loop
        Sheets(shname).Visible = True
        For Each Wsht In Worksheets
            If UCase(Wsht.Name) <> UCase(shname) Then
                Wsht.Visible = False
            End If
        Next Wsht
    End Sub
    Function WorksheetExists(WSName As String) As Boolean
        On Error Resume Next
        WorksheetExists = Worksheets(WSName).Name = WSName
        On Error GoTo 0
    End Function
    VBA Noob
    _________________________________________


    Credo Elvem ipsum etian vivere
    _________________________________________
    A message for cross posters

    Please remember to wrap code.

    Forum Rules

    Please add to your signature if you found this link helpful. Excel links !!!

  4. #4
    Forum Expert royUK's Avatar
    Join Date
    11-18-2003
    Location
    Derbyshire,UK
    MS-Off Ver
    Xp; 2007; 2010
    Posts
    26,200
    Try this, it will unhide each sheet in turn. You must start with all sheets but one hidden

    Sub doShts()
    Dim i As Long
    Dim cnt As Long
    Dim aSht As Worksheet
    
    Set aSht = ActiveSheet
    cnt = ThisWorkbook.Worksheets.Count
    For i = 1 To cnt
    If i > aSht.Index And i <= cnt Then
    Sheets(i).Visible = -1
    aSht.Visible = 0
    Else: Sheets(1).Visible = -1
    Sheets(cnt).Visible = 0
    Exit For
    End If
    Next i
    End Sub

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1