Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
We have a worksheet that collects rows of information from another sheet. Is
there a way to write a macro that would hide (or unhide as new rows are added) so when I print it only prints rows with data? Here is our attempt, which hides the rows but will not unhide the rows when new rows are added. Suggestions??? Private Sub Worksheet_Change(ByVal Target As Range) Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = False With ActiveSheet For Each cell In Range("B6:B30,B38:B62") If cell.Value = "" Then cell.EntireRow.Hidden = True ElseIf cell.Value 1 Then cell.EntireRow.Hidden = False End If Next End With Application.ScreenUpdating = True End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The range of cells you're hiding are hard-coded. Once you change the range of
cells "Range("B6:B30,B38:B62")" to include the new rows, your code should work. "Husker87" wrote: We have a worksheet that collects rows of information from another sheet. Is there a way to write a macro that would hide (or unhide as new rows are added) so when I print it only prints rows with data? Here is our attempt, which hides the rows but will not unhide the rows when new rows are added. Suggestions??? Private Sub Worksheet_Change(ByVal Target As Range) Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = False With ActiveSheet For Each cell In Range("B6:B30,B38:B62") If cell.Value = "" Then cell.EntireRow.Hidden = True ElseIf cell.Value 1 Then cell.EntireRow.Hidden = False End If Next End With Application.ScreenUpdating = True End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks for the reply€¦ when we input values in the rows within the range (say
row 21 or 22) the macro then hides all the blank rows. The problem comes when we then enter information that populates into row 23 it does not unhide row 23. Make sense or should I explain with a hard example? Thanks again for helping€¦ "aushknotes" wrote: The range of cells you're hiding are hard-coded. Once you change the range of cells "Range("B6:B30,B38:B62")" to include the new rows, your code should work. "Husker87" wrote: We have a worksheet that collects rows of information from another sheet. Is there a way to write a macro that would hide (or unhide as new rows are added) so when I print it only prints rows with data? Here is our attempt, which hides the rows but will not unhide the rows when new rows are added. Suggestions??? Private Sub Worksheet_Change(ByVal Target As Range) Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = False With ActiveSheet For Each cell In Range("B6:B30,B38:B62") If cell.Value = "" Then cell.EntireRow.Hidden = True ElseIf cell.Value 1 Then cell.EntireRow.Hidden = False End If Next End With Application.ScreenUpdating = True End Sub |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Assuming you always insert new rows at the bottom of the worksheet (I.e.
right after your 2nd range of rows): Private Sub Worksheet_Change(ByVal Target As Range) Dim lLastRow As Long Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = False With ActiveSheet lLastRow = ws.Cells(Rows.Count, "B").End(xlUp).Row For Each cell In Range("B6:B30,B38:" & lLastRow) If cell.Value = "" Then cell.EntireRow.Hidden = True ElseIf cell.Value 1 Then cell.EntireRow.Hidden = False End If Next End With Application.ScreenUpdating = True End Sub "Husker87" wrote: Thanks for the reply€¦ when we input values in the rows within the range (say row 21 or 22) the macro then hides all the blank rows. The problem comes when we then enter information that populates into row 23 it does not unhide row 23. Make sense or should I explain with a hard example? Thanks again for helping€¦ "aushknotes" wrote: The range of cells you're hiding are hard-coded. Once you change the range of cells "Range("B6:B30,B38:B62")" to include the new rows, your code should work. "Husker87" wrote: We have a worksheet that collects rows of information from another sheet. Is there a way to write a macro that would hide (or unhide as new rows are added) so when I print it only prints rows with data? Here is our attempt, which hides the rows but will not unhide the rows when new rows are added. Suggestions??? Private Sub Worksheet_Change(ByVal Target As Range) Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = False With ActiveSheet For Each cell In Range("B6:B30,B38:B62") If cell.Value = "" Then cell.EntireRow.Hidden = True ElseIf cell.Value 1 Then cell.EntireRow.Hidden = False End If Next End With Application.ScreenUpdating = True End Sub |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Too quick when copy & paste. Try the following instead: Private Sub Worksheet_Change(ByVal Target As Range) Dim oCell As Range Dim lLastRow As Long 1 Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = False With ActiveSheet lLastRow = .Cells(Rows.Count, "B").End(xlUp).Row For Each oCell In .Range("B6:B30,B38:B" & lLastRow) If oCell.Value = "" Then oCell.EntireRow.Hidden = True ElseIf oCell.Value 1 Then oCell.EntireRow.Hidden = False End If Next End With Application.ScreenUpdating = True End Sub "Husker87" wrote: We have a worksheet that collects rows of information from another sheet. Is there a way to write a macro that would hide (or unhide as new rows are added) so when I print it only prints rows with data? Here is our attempt, which hides the rows but will not unhide the rows when new rows are added. Suggestions??? Private Sub Worksheet_Change(ByVal Target As Range) Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = False With ActiveSheet For Each cell In Range("B6:B30,B38:B62") If cell.Value = "" Then cell.EntireRow.Hidden = True ElseIf cell.Value 1 Then cell.EntireRow.Hidden = False End If Next End With Application.ScreenUpdating = True End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Macro to hide/unhide WS based upon WS tab color | Excel Discussion (Misc queries) | |||
Macro that will unhide then hide rows | Excel Discussion (Misc queries) | |||
Macro to hide and unhide based on criteria | Excel Discussion (Misc queries) | |||
Hide/Delete entire rows based in the content of one cell | Excel Discussion (Misc queries) | |||
Hide/unhide sheet macro based on cell calculation | Excel Programming |