Hide rows based on multiple cell content in row

tjktm

New Member
Joined
Mar 2, 2016
Messages
31
<style> <!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:0 0 0 0 0 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-536870145 1073786111 1 0 415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0in; margin-right:0in; margin-bottom:8.0pt; margin-left:0in; line-height:107%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri",sans-serif; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-family:"Calibri",sans-serif; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} .MsoPapDefault {mso-style-type:export-only; margin-bottom:8.0pt; line-height:107%;} @Page WordSection1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.WordSection1 {page:WordSection1;} --> </style> I need help to hide/unhide rows based on the contents of two of the cells in the same row. My current code doesnt quite do the trick anymore due to having to insert or delete rows:


If Column A has specific data (ex. S.2) and Column L in that row has no dollar amount, I would need to hide the column. If Column L does have a dollar value, then it remains unhidden.



Below is an example of what I have currently. However, the number of rows change (+/-) so I cannot use the code for specific cell values as shown below:
Sub Hide_Unhide_0300()

For Each cell In Range("L158:L183")

If cell.EntireRow.Hidden = True Then

cell.EntireRow.Hidden = False
Else
If cell.Value = "0" Then
cell.EntireRow.Hidden = True
End If
End If
Next cell

End Sub

Thank you for any help you can give

TJ
 
that is what i am getting also. but it is not the result that i need. The results that i am looking for are for it to only hide / unhide data that contain S.3 in the first column. it would leave all the other rows alone whether column "L" has a value or not.
For clarity, the only rows hidden in this worksheet would be R158-R165, R169-R183
 
Upvote 0

Excel Facts

How to create a cell-sized chart?
Tiny charts, called Sparklines, were added to Excel 2010. Look for Sparklines on the Insert tab.
In that case
Code:
Sub Hide_Unhide_0300()

   Dim Cl As Range
Application.ScreenUpdating = False
   Cells.EntireRow.Hidden = False

   For Each Cl In Range("A10", Range("A" & Rows.Count).End(xlUp))
      If Cl.Value Like "S.3" And Cl.Offset(, 11).Value = 0 Then
         Cl.EntireRow.Hidden = True
      End If
   Next Cl



Application.ScreenUpdating = True

End Sub
 
Upvote 0
Glad we could help & thanks for the feedback
 
Upvote 0
I'm back again and need help to tweak the code. It works great for hiding the 'section' i am working on but will unhide all the other sections in my workbook. Is there a way to keep it from affecting the other sections? I've included code for (2) sections below:

Sub Hide_0300()

Dim Cl As Range
Application.ScreenUpdating = False
Cells.EntireRow.Hidden = False

For Each Cl In Range("A10", Range("A" & Rows.Count).End(xlUp))
If Cl.Value Like "S.3" And Cl.Offset(, 11).Value = 0 Then
Cl.EntireRow.Hidden = True
End If
Next Cl

Application.ScreenUpdating = True

End Sub


Sub Hide_0400()

Dim Cl As Range
Application.ScreenUpdating = False
Cells.EntireRow.Hidden = False

For Each Cl In Range("A10", Range("A" & Rows.Count).End(xlUp))
If Cl.Value Like "S.4" And Cl.Offset(, 11).Value = 0 Then
Cl.EntireRow.Hidden = True
End If
Next Cl
Application.ScreenUpdating = True

End Sub
 
Upvote 0
Simply remove this line
Code:
Cells.EntireRow.Hidden = False
 
Upvote 0

Forum statistics

Threads
1,223,236
Messages
6,170,912
Members
452,366
Latest member
TePunaBloke

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top