+ Reply to Thread
Results 1 to 2 of 2

Using checkboxes on summary sheet to name tabs and hide/unhide tabs

  1. #1
    Registered User
    Join Date
    01-27-2011
    Location
    Georgia
    MS-Off Ver
    Excel 2010
    Posts
    1

    Using checkboxes on summary sheet to name tabs and hide/unhide tabs

    I have a workbook with 43 tabs, which inculdes an input sheet. On the input sheet there are 26 checkboxes which are used to hide/unhide 26 of the other worksheets. If the checkbox is checked, the worksheet is visible. However, with this macro, I included a line that will rename the tab based on the cell value in the input sheet.

    I also have a command button that will check all checkboxes and uncheck all checkboxes. If the boxes are checked one at a time, the macro works, but when the check all button is clicked I get a run-time error 7.

    I am really new to programming and am kind of learning as I go so any help is appreciated. I have include the macro written. Thanks in advance!

    Private Sub CheckBox1_Click()
    If CheckBox1 = True Then
    Sheet3.Visible = True
    Sheet3.Name = Range("bo25").Value
    On Error GoTo 0
    ElseIf CheckBox1 = False Then
    Sheet3.Visible = False

    End If

    End Sub

    Private Sub CheckBox10_Click()
    If CheckBox10 = True Then
    Sheet19.Visible = True
    Sheet19.Name = Range("bo33").Value
    ElseIf CheckBox10 = False Then
    Sheet19.Visible = False
    Sheets("In PD").Select

    End If

    End Sub

    Private Sub CheckBox11_Click()
    If CheckBox11 = True Then
    Sheet22.Visible = True
    Sheet22.Name = Range("bo34").Value
    ElseIf CheckBox11 = False Then
    Sheet22.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox12_Click()
    If CheckBox12 = True Then
    Sheet23.Visible = True
    Sheet23.Name = Range("bo35").Value
    ElseIf CheckBox12 = False Then
    Sheet23.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox13_Click()
    If CheckBox13 = True Then
    Sheet24.Visible = True
    Sheet24.Name = Range("bo36").Value
    ElseIf CheckBox13 = False Then
    Sheet24.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox14_Click()
    If CheckBox14 = True Then
    Sheet25.Visible = True
    Sheet25.Name = Range("bo37").Value
    ElseIf CheckBox14 = False Then
    Sheet25.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox15_Click()
    If CheckBox15 = True Then
    Sheet26.Visible = True
    Sheet26.Name = Range("bo38").Value
    ElseIf CheckBox15 = False Then
    Sheet26.Visible = False
    Sheets("In PD").Select

    End If

    End Sub

    Private Sub CheckBox16_Click()
    If CheckBox16 = True Then
    Sheet28.Visible = True
    Sheet28.Name = Range("bo39").Value
    ElseIf CheckBox16 = False Then
    Sheet28.Visible = False
    Sheets("In PD").Select

    End If

    End Sub

    Private Sub CheckBox17_Click()
    If CheckBox17 = True Then
    Sheet29.Visible = True
    Sheet29.Name = Range("bo40").Value
    ElseIf CheckBox17 = False Then
    Sheet29.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox18_Click()
    If CheckBox18 = True Then
    Sheet30.Visible = True
    Sheet30.Name = Range("bo41").Value
    ElseIf CheckBox18 = False Then
    Sheet30.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox19_Click()
    If CheckBox19 = True Then
    Sheet31.Visible = True
    Sheet31.Name = Range("bo42").Value
    ElseIf CheckBox19 = False Then
    Sheet31.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox2_Click()

    Sheets("In PD").Select
    If CheckBox2 = True Then
    Sheet6.Visible = True
    Sheet6.Name = Range("bo27").Value
    ElseIf CheckBox2 = False Then
    Sheet6.Visible = False
    Sheets("In PD").Select
    End If
    End Sub

    Private Sub CheckBox20_Click()
    If CheckBox20 = True Then
    Sheet32.Visible = True
    Sheet32.Name = Range("bo43").Value
    ElseIf CheckBox20 = False Then
    Sheet32.Visible = False
    Sheets("In PD").Select

    End If

    End Sub

    Private Sub CheckBox21_Click()
    If CheckBox21 = True Then
    Sheet33.Visible = True
    Sheet33.Name = Range("bo44").Value
    ElseIf CheckBox21 = False Then
    Sheet33.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox22_Click()
    If CheckBox22 = True Then
    Sheet34.Visible = True
    Sheet34.Name = Range("bo45").Value
    ElseIf CheckBox22 = False Then
    Sheet34.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox23_Click()
    If CheckBox23 = True Then
    Sheet35.Visible = True
    Sheet35.Name = Range("bo46").Value
    ElseIf CheckBox23 = False Then
    Sheet35.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox24_Click()
    If CheckBox24 = True Then
    Sheet36.Visible = True
    Sheet36.Name = Range("bo47").Value
    ElseIf CheckBox24 = False Then
    Sheet36.Visible = False
    Sheets("In PD").Select

    End If
    End Sub

    Private Sub CheckBox25_Click()
    If CheckBox25 = True Then
    Sheet37.Visible = True
    Sheet37.Name = Range("bo48").Value
    ElseIf CheckBox25 = False Then
    Sheet37.Visible = False
    Sheets("In PD").Select
    End If
    End Sub

    Private Sub CheckBox26_Click()
    If CheckBox26 = True Then
    Sheet38.Visible = True
    Sheet38.Name = Range("bo49").Value
    ElseIf CheckBox26 = False Then
    Sheet38.Visible = False
    Sheets("In PD").Select
    End If
    End Sub

    Private Sub CheckBox27_Click()
    If CheckBox27 = True Then
    Sheet39.Visible = True
    Sheet39.Name = Range("bo50").Value
    ElseIf CheckBox27 = False Then
    Sheet39.Visible = False
    Sheets("In PD").Select
    End If
    End Sub

    Private Sub CheckBox3_Click()
    If CheckBox3 = True Then
    Sheet4.Visible = True
    Sheet4.Name = Range("bo26").Value
    ElseIf CheckBox3 = False Then
    Sheet4.Visible = False
    Sheets("In PD").Select
    End If
    End Sub

    Private Sub CheckBox5_Click()
    If CheckBox5 = True Then
    Sheet11.Visible = True
    Sheet11.Name = Range("bo28").Value
    ElseIf CheckBox5 = False Then
    Sheet11.Visible = False
    Sheets("In PD").Select
    End If
    End Sub

    Private Sub CheckBox6_Click()
    If CheckBox6 = True Then
    Sheet12.Visible = True
    Sheet12.Name = Range("bo29").Value
    ElseIf CheckBox6 = False Then
    Sheet12.Visible = False
    Sheets("In PD").Select
    End If
    End Sub

    Private Sub CheckBox7_Click()
    If CheckBox7 = True Then
    Sheet14.Visible = True
    Sheet14.Name = Range("bo30").Value
    ElseIf CheckBox7 = False Then
    Sheet14.Visible = False
    Sheets("In PD").Select
    End If
    End Sub

    Private Sub CheckBox8_Click()
    If CheckBox8 = True Then
    Sheet16.Visible = True
    Sheet16.Name = Range("bo31").Value
    ElseIf CheckBox8 = False Then
    Sheet16.Visible = False
    Sheets("In PD").Select
    End If
    End Sub

    Private Sub CheckBox9_Click()
    If CheckBox9 = True Then
    Sheet17.Visible = True
    Sheet17.Name = Range("bo32").Value
    ElseIf CheckBox9 = False Then
    Sheet17.Visible = False
    Sheets("In PD").Select
    End If
    End Sub

    Private Sub CommandButton1_Click()
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.StatusBar = "Running..."
    Range("F25:F50").Select
    Selection.Replace What:="True", Replacement:="False", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Range("C25").Select
    Application.StatusBar = False
    Application.ScreenUpdating = True
    End Sub

    Private Sub CommandButton2_Click()
    Application.ScreenUpdating = False
    Application.StatusBar = "Running..."
    Range("F25:F50").Select
    Selection.Replace What:="False", Replacement:="True", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Range("C25").Select
    Application.StatusBar = False
    Application.ScreenUpdating = True
    End Sub

  2. #2
    Valued Forum Contributor natefarm's Avatar
    Join Date
    04-22-2010
    Location
    Wichita, Kansas
    MS-Off Ver
    2016
    Posts
    1,020

    Re: Using checkboxes on summary sheet to name tabs and hide/unhide tabs

    In the future, please surround code with code tags. - Thanks.

    I'm not sure about your run-time error, but I have a few suggestions. First, put the meat of your checkbox code in a subroutine and call it from each checkbox. It's more efficient, easier to read, and easier to maintain. Second, indent for easier reading. Third, I experimented with a button to update a series of checkboxes and found some unexpected results. It updated all the checkbox values, but only ran the code for the first one. When I clicked it again, it ran the code for the second one, etc. Call me crazy. Anyway, if you update the values one at a time, it seems to work fine.

    I haven't tested this code but it should be close. Here's my suggestion for the checkboxes:

    Please Login or Register  to view this content.
    Then for the command buttons:

    Please Login or Register  to view this content.

+ 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