+ Reply to Thread
Results 1 to 3 of 3

Making a worksheet macro work for whole workbook

Hybrid View

  1. #1
    Registered User
    Join Date
    04-19-2010
    Location
    New York
    MS-Off Ver
    Excel 2007
    Posts
    86

    Making a worksheet macro work for whole workbook

    Hi Guys -

    I have written a small macro in the worksheet code which just hides some rows in the spreadsheet depending on what's selected in cell B10. But I've just realised that there can be many worksheets in the workbook, and don't want to copy and paste this again for each one. Could i move this code to the workbook and how would I change it?

    Thanks!!

    John

    Private Sub Worksheet_Change(ByVal Target As Range)
        
        If Range("B10") = "" Then
        Rows("14:64").EntireRow.Hidden = False
        End If
        If Range("B10") = "TBD" Then
        Rows("14:64").EntireRow.Hidden = False
        End If
        If Range("B10") = "Full" Then
        Rows("14:64").EntireRow.Hidden = False
        End If
        If Range("B10") = "PI only" Then
        Rows("17:17").EntireRow.Hidden = True
        Rows("19:19").EntireRow.Hidden = True
        Rows("28:28").EntireRow.Hidden = True
        Rows("31:34").EntireRow.Hidden = True
        Rows("36:37").EntireRow.Hidden = True
        End If
      
    End Sub
    Last edited by john_london; 01-31-2011 at 02:06 PM.

  2. #2
    Forum Expert Domski's Avatar
    Join Date
    12-14-2009
    Location
    A galaxy far, far away
    MS-Off Ver
    Darth Office 2010
    Posts
    3,950

    Re: Making a worksheet macro work for whole workbook

    Pop this on the ThisWorkbook code page:

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
       
    With Sh
       
        If .Range("B10") = "" Then
        .Rows("14:64").EntireRow.Hidden = False
        End If
        If .Range("B10") = "TBD" Then
        .Rows("14:64").EntireRow.Hidden = False
        End If
        If .Range("B10") = "Full" Then
        .Rows("14:64").EntireRow.Hidden = False
        End If
        If .Range("B10") = "PI only" Then
        .Rows("17:17").EntireRow.Hidden = True
        .Rows("19:19").EntireRow.Hidden = True
        .Rows("28:28").EntireRow.Hidden = True
        .Rows("31:34").EntireRow.Hidden = True
        .Rows("36:37").EntireRow.Hidden = True
        End If
        
    End With
    
    End Sub

    Dom
    "May the fleas of a thousand camels infest the crotch of the person who screws up your day and may their arms be too short to scratch..."

    Use code tags when posting your VBA code: [code] Your code here [/code]

    Remember, saying thanks only takes a second or two. Click the little star to give some Rep if you think an answer deserves it.

  3. #3
    Registered User
    Join Date
    04-19-2010
    Location
    New York
    MS-Off Ver
    Excel 2007
    Posts
    86

    Re: Making a worksheet macro work for whole workbook

    Thanks so much!!!

+ 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