I'm not sure if I understand how you're determining "rows that start with the 
number 3 and goes to 18 or higher"

What does "start with number 3" mean?
is the cell in column "A" a number?
Is it always the same as the row number?
or are you saying you want to hide rows that have the number 3, 
30,31,32...,300,301... 3000, 3001... because they all start with "3"..

and.. "ask for the number of rows to be hidden"

is this whole thing a way to say that you want to ask the user for the last row 
number and hide all rows from 3 to that row number.

Or if I answer "10", it will hide rows 3-13 ??

Will it always be consecutive?

here's some differences:
'==============================================================
 Sub Hide_Rows() 'Hide rows from 3 to Specified row
    Dim LastRow As Integer
    LastRow = InputBox("Enter Last Row Number", "Last Row")
    If (LastRow >= 3) Then
        Cells.EntireRow.Hidden = False
        Rows("3:" & LastRow).EntireRow.Hidden = True
    ElseIf (LastRow = 0) Then
        Cells.EntireRow.Hidden = False
    End If
 End Sub
'==============================================================
 Sub Hide_Rows2() 'hide X number of rows
    Dim LastRow As Integer
    LastRow = InputBox("Enter Number of Rows", "Number of Rows")
    LastRow = LastRow + 2
    If (LastRow >= 3) Then
        Cells.EntireRow.Hidden = False
        Rows("3:" & LastRow).EntireRow.Hidden = True
    ElseIf (LastRow = 0) Then
        Cells.EntireRow.Hidden = False
    End If
 End Sub  
'==============================================================
 Sub Hide_Rows3() 'hide X number of rows that have a value of 3 or more
    Dim LastRow As Integer
    Dim cnt, I
    cnt = 0
    LastRow = InputBox("Enter Number of Rows", "Number of Rows")
    If (LastRow >= 3) Then
        Cells.EntireRow.Hidden = False
        For I = 3 To 1000
            If (Cells(I, 1) >= 3) Then
                Rows(I & ":" & I).EntireRow.Hidden = True
                cnt = cnt + 1
                If cnt >= LastRow Then Exit For
            End If
        Next I
    ElseIf (LastRow = 0) Then
        Cells.EntireRow.Hidden = False
    End If
 End Sub  
'==============================================================

is one of these close?

Paul




________________________________
From: Joe Wilson <jhwilson1...@gmail.com>
To: excel-macros@googlegroups.com
Sent: Wednesday, April 29, 2009 11:37:00 AM
Subject: $$Excel-Macros$$ Consolidate Macro

Hi group.  Could someone help me with shortening the below Macro.  Basically I 
want to hide rows that start with the number 3 and goes to 18 or higher, and 
you can see below how I did it the long way.

Is there a way I could have an input box popup that would ask me the # of rows 
that I want hidden?

Thanks for your help.

Also, could someone explain Loop to me and an example of how it works.  Maybe I 
could use the loop function here?

Sub Hide_Rows()

Dim i As Integer
For i = 3 To 1000
     Sheets("Total Mo Plus").Select
     If ActiveSheet.Range("a" & i).Value = "3" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
        ElseIf ActiveSheet.Range("a" & i).Value = "4" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
        ElseIf ActiveSheet.Range("a" & i).Value = "5" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
        ElseIf ActiveSheet.Range("a" & i).Value = "6" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
                    ElseIf ActiveSheet.Range("a" & i).Value = "7" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "8" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "9" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "10" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "11" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "12" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "13" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "14" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "15" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "16" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "17" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
            ElseIf ActiveSheet.Range("a" & i).Value = "18" Then
            Rows(i & ":" & i).EntireRow.Hidden = True
             End If
     
            
Next i


    

End Sub


--~--~---------~--~----~------------~-------~--~----~
-------------------------------------------------------------------------------------
Some important links for excel users:
1. Excel and VBA Tutorials(Video and Text), Free add-ins downloads at 
http://www.excelitems.com
2. Excel tutorials at http://www.excel-macros.blogspot.com
3. Learn VBA Macros at http://www.vbamacros.blogspot.com
4. Excel Tips and Tricks at http://exceldailytip.blogspot.com
 

To post to this group, send email to excel-macros@googlegroups.com
If you find any spam message in the group, please send an email to:
Ayush Jain  @ jainayus...@gmail.com or
Ashish Jain @ 26may.1...@gmail.com
-------------------------------------------------------------------------------------
-~----------~----~----~----~------~----~------~--~---

Reply via email to