I'm a beginner in coding and specially with VBA. I have an Excel document on which several rows are hidden. I need to unhide the row 34:37, 42:45, 50:53, 58:61, one block of four rows at a time, until they are all unhidden. I have a button made out of a shape.
For now, I have a
currentStage function applied to the code, but it's counterproductive, since I don't want the code to hide rows, only unhide.
Here's the code for now :
Sub UnhideObjectives() Static currentStage As Integer With ActiveSheet .Rows("34:37").EntireRow.Hidden = False .Rows("42:45").EntireRow.Hidden = (currentStage < 1) .Rows("50:53").EntireRow.Hidden = (currentStage < 2) End With currentStage = (currentStage + 1) Mod 3 End Sub
Unhide all rows in one operation:
Sub UnhideObjectives() ActiveSheet.range("A34:A37,A42:A45,A50:A53").EntireRow.Hidden = False End Sub
Edit: OK I see what you mean
Sub UnhideObjectives() Dim rng As Range For Each rng In ActiveSheet.Range("A34:A37,A42:A45,A50:A53").Areas If rng.EntireRow.Hidden Then 'is this block hidden? rng.EntireRow.Hidden = False 'unhide Exit For '...and stop looping End If Next rng End Sub