Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1041
  • Last Modified:

Excel VBA Macro to hide/unhide every 3rd, 4th & 5th row

Greetings; I need an Excel VBA Macro to hide/unhide every 3rd, 4th & 5th row on a particular workbook. I found a macro that hides every 3rd and 4th row but I haven't been able to figure out how to modify it to include the 5th row.

Thanks in advance for your consideration.
Hides every 3rd and 4th row:
 
Sub hiderows()
For i = Cells(Rows.Count, "a").End(xlUp).Row - 1 To 2 Step -3
Rows(i).Resize(2).Hidden = True
Next i
End Sub

Open in new window

0
dartanion_jm
Asked:
dartanion_jm
  • 3
  • 3
3 Solutions
 
Rory ArchibaldCommented:
Try this:
 

Sub hiderows()
Dim i
For i = Cells(Rows.Count, "a").End(xlUp).Row - 1 To 3 Step -5
Rows(i).Resize(3).Hidden = True
Next i
End Sub

Open in new window

0
 
dartanion_jmAuthor Commented:
Thanks for the prompt response Rorya.

Unfortunately the script provided unhid the 1st 5 rows; then hid the next 2 rows; unhide the next row then hid the next 3 rows. Still can't figure this script out.  

The original script provided is close...Unhide rows 1 and 2; hide rows 3 and 4.

Just need it to unhide rows 1 and 2; hide rows 3, 4 and 5; unhide row 6; hide rows 7, 8 & 9; unhide row 10; hide rows 11, 12 & 13...and continue on.

Any assistance you can provide is greatly appreciated. Thanks for your efforts.
0
 
Rory ArchibaldCommented:
That code doesn't unhide any rows so I don't get what you are seeing. Do you need the code to specifically unhide rows 1&2, 6&7 etc?
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
dartanion_jmAuthor Commented:
Greetings Rorya; Sorry for the confusing  (am) explanation.

What I'm looking for (after rows 1 and 2 are left unhidden)  is for rows 3,4, & 5 hidden; then leave row 6 unhidden; then hide rows 7, 8 & 9 and continue on for the rest spreadsheet.

Unhidden
Unhidden
Hidden
Hidden
Hidden
Unhidden
Hidden
Hidden
Hidden
Unhidden

Thanks again.
0
 
Rory ArchibaldCommented:
So not what you asked for originally then? ;)
Try this:
 

Sub hiderows()
Dim i as long, lngLastRow as long
lngLastRow = Cells(Rows.Count, "a").End(xlUp).Row 
For i = 3 to lngLastRow Step 4
Rows(i).Resize(3).Hidden = True
Next i
End Sub

Open in new window

0
 
dartanion_jmAuthor Commented:
Matrix (1999) - Morpheus: "You are the ONE, Rorya!"

It works perfectly. Thank You for the prompt responses and your patience.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now