View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Rob van Gelder[_4_] Rob van Gelder[_4_] is offline
external usenet poster
 
Posts: 1,236
Default Excel VBA-hide row worksheet event

How about whenever the sheet is activated?

Private Sub Worksheet_Activate()
Dim rng As Range

For Each rng In Range("A12:A62")
If rng.Value = 1 Then rng.EntireRow.Hidden = True
Next
End Sub


--
Rob van Gelder - http://www.vangelder.co.nz/excel


"kabrahani " wrote in message
...
I am trying to use Visual Basic to automatically hide rows in Excel.
Basically, I have a sheet that has 50 rows (A12:A62)…each cell in
column A is linked to another sheet and comes back as a 0 or a 1
depending on pull-down options throughout the workbook. If the link
comes back as a 1, I want the entire row to hide, otherwise, show the
row.

Also, I don’t want to have to run a macro. I want the rows to
hide/unhide whenever someone is looking at that sheet and changes some
criteria. I put the following code and it works if I manually change
the value in A12, but when A12 is linked to another cell, the row
doesn’t hide when the value changes.

Private Sub Worksheet_change(ByVal Target As Excel.Range)

If Target.Address = "$A$12" Then
If Target.Value = 1 Then
Range("a12").Select
Selection.EntireRow.Hidden = True
Else
Range("a12").Select
Selection.EntireRow.Hidden = False
End If
End If
End Sub

Does anybody know how to make this work when A12 is linked? Also,
ultimately I will have to make this apply to 50 rows (A12:62). How
would I do this without repeating the above code for each row?


---
Message posted from http://www.ExcelForum.com/