simple code hide/show rows with cell = empty, set value or any
what if I wanted to match two cells in one condition with different criteria?
I want the second part to only initialise if rng3 does not = Shane and rng4
= blank or zero?
I have this code so far:
'Hides depending on User'
[7:7, 40:42].EntireRow.Hidden = (rng3.Value = "Shane")
[8:19, 37:39].EntireRow.Hidden = (rng3.Value = "Dane")
[8:19, 37:39].EntireRow.Hidden = (rng3.Value = "Elizabeth")
'Hides depending on Pack Level'
If Not Intersect(rng4, Target) Is Nothing Then
[8:19].EntireRow.Hidden = Not IsEmpty(rng4.Value)
End If
"Greg Wilson" wrote:
Minimal testing:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, rng2 As Range
Set rng = Me.Range("E27")
Set rng2 = Me.Range("B6")
If Not Intersect(rng, Target) Is Nothing Then
[31:31, 39:39].EntireRow.Hidden = IsEmpty(rng.Value)
End If
[35:36, 47:48].EntireRow.Hidden = (rng2.Value = "PBO")
End Sub
Regards,
Greg
"ivory_kitten" wrote:
I currently have the code below in my worksheet, surely I can use consistent
coding to get what I need. I need to be able to show/hide various rows
(sometimes single rows, sometimes blocks of rows and sometimes multiple rows
not in order) which sometimes is based on a cell being empty, a cell being a
set value/not a set value or being any value (not blank)
Any suggestions for improvements?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Me.Range("E27")
If Not Intersect(rng, Target) Is Nothing Then
Rows(31).EntireRow.Hidden = IsEmpty(rng.Value)
Rows(39).EntireRow.Hidden = IsEmpty(rng.Value)
End If
Select Case UCase(Range("B6").Value)
Case "PBO"
[35:36].EntireRow.Hidden = True
[47:48].EntireRow.Hidden = True
Case Else
[35:36].EntireRow.Hidden = False
[47:48].EntireRow.Hidden = False
End Select
End Sub
|