ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Hide Rows based on value of a cell (https://www.excelbanter.com/excel-programming/417622-hide-rows-based-value-cell.html)

Gordon[_2_]

Hide Rows based on value of a cell
 
Hi...

If I enter 1 into cell A1 I want to automatically hide rows 8-19. Is this
possible?

Cheers

G

Mike H

Hide Rows based on value of a cell
 
Gordon,

Right click your sheet tab, view code and paste this in.
Enter 1 in A1 hides the rows anything else makes them visible,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Target.Address = "$A$1" Then
Application.EnableEvents = False
If Target.Value = 1 Then
Rows("8:19").EntireRow.Hidden = True
Else
Rows("8:19").EntireRow.Hidden = False
End If
Application.EnableEvents = True
End If
End Sub

Mike

"Gordon" wrote:

Hi...

If I enter 1 into cell A1 I want to automatically hide rows 8-19. Is this
possible?

Cheers

G


Gordon[_2_]

Hide Rows based on value of a cell
 
Hi...

The value 1 fires in cell a1 and nothing happens. I should add that the 1 is
derived from a formula, does that make a difference.

This is the code currently in the sheet properties. Might something clash?

Private Sub Worksheet_Activate()
ActiveSheet.ScrollArea = "$a$1:$s$30"
End Sub
Private Sub Worksheet_Calculate()
Dim sh As Worksheet
SheetArray = Array("R", "A", "B", "Ba", "Rs", "Co", _
"Bf", "Bs", "Pa", "Pt", "Pa", "Ea", "Bar", "Ds", "Sp", "df")
Set sh = Worksheets("SETUP")
For sht = LBound(SheetArray) To UBound(SheetArray)
With Sheets(SheetArray(sht))
If sh.Range("R4").Value = 0 Then
.Visible = xlSheetHidden
ElseIf sh.Range("R4").Value = 1 Then
.Visible = xlSheetVisible
End If
End With
Next
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Target.Address = "$A$1" Then
Application.EnableEvents = False
If Target.Value = 0 Then
Rows("1:19").EntireRow.Hidden = True
Else
Rows("1:19").EntireRow.Hidden = False
End If
Application.EnableEvents = True
End If
End Sub



"Mike H" wrote:

Gordon,

Right click your sheet tab, view code and paste this in.
Enter 1 in A1 hides the rows anything else makes them visible,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Target.Address = "$A$1" Then
Application.EnableEvents = False
If Target.Value = 1 Then
Rows("8:19").EntireRow.Hidden = True
Else
Rows("8:19").EntireRow.Hidden = False
End If
Application.EnableEvents = True
End If
End Sub

Mike

"Gordon" wrote:

Hi...

If I enter 1 into cell A1 I want to automatically hide rows 8-19. Is this
possible?

Cheers

G



All times are GMT +1. The time now is 01:31 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com