I have the following code, which I am trying to use to hide specific rows based on a result of another cell. (there is a formulae in this cell which concatentates the result from a series of other cells into a letter - A, B, C, etc.)
However there must be something wrong in my code because I cannot get it to work - nothing changes irrespective of what I change for the target cell.
This is my code - I am using Excel 2016 if that's of any relevant
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "G26" Then
Select Case Target.Value
Case "A": Rows("45:45,47,53:57,77:78").Hidden = True
Case "B": Rows("40:52,77, 78,80,,85").Hidden = True
Case "C": Rows("43,45,46,47,49,53:57,61:83").Hidden = True
Case "D": Rows("40:49,53:57,77,78,80").Hidden = True
Case "E": Rows("53:57").Hidden = True
Case "F": Rows("43,46,47,50:57").Hidden = True
Case "G": Rows("43,45:47,50:53").Hidden = True
Case "FG": Rows("43,46,47,50:57").Hidden = True
Case "H": Rows("41:42,44,45:57,77,78,80").Hidden = True
Case "I": Rows("40:49,53:57,77:78,80:82").Hidden = True
Case "HI": Rows("41:42,44,45:49,53:57,77,78,80").Hidden = True
Case "J": Rows("41:57,63,67,72,74:83").Hidden = True
Case "": Rows("40:85").Hidden = False
End Select
End If
End Sub
Use Range().EntireRow.Hidden
instead of Rows().Hidden
to allow lists of rows in the format you want
Ie replace your
Rows("xyz").Hidden = True
with
Range("xyz").EntireRow.Hidden = True
I used find and replace on your original code to produce the following (note I also deleted a double comma ,, in one of the lines) - Try this:
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "G26" Then
Select Case Target.Value
Case "A": Range("45:45,47:47,53:57,77:78").EntireRow.Hidden = True
Case "B": Range("40:52,77:78,80:80,85:85").EntireRow.Hidden = True
Case "C": Range("43:43,45:47,49:49,53:57,61:83").EntireRow.Hidden = True
Case "D": Range("40:49,53:57,77:78,80:80").EntireRow.Hidden = True
Case "E": Range("53:57").EntireRow.Hidden = True
Case "F": Range("43:43,46:47,50:57").EntireRow.Hidden = True
Case "G": Range("43:43,45:47,50:53").EntireRow.Hidden = True
Case "FG": Range("43:43,46:47,50:57").EntireRow.Hidden = True
Case "H": Range("41:42,44:57,77:78,80:80").EntireRow.Hidden = True
Case "I": Range("40:49,53:57,77:78,80:82").EntireRow.Hidden = True
Case "HI": Range("41:42,44:45:49,53:57,77:78,80:80").EntireRow.Hidden = True
Case "J": Range("41:57,63:63,67:67,72:72,74:83").EntireRow.Hidden = True
Case "": Range("40:85").EntireRow.Hidden = False
End Select
End If
End Sub
UPDATED ANSWER
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("G26").Value
Case "A": Range("45:45,47:47,53:57,77:78").EntireRow.Hidden = True
Case "B": Range("40:52,77:78,80:80,85:85").EntireRow.Hidden = True
Case "C": Range("43:43,45:47,49:49,53:57,61:83").EntireRow.Hidden = True
Case "D": Range("40:49,53:57,77:78,80:80").EntireRow.Hidden = True
Case "E": Range("53:57").EntireRow.Hidden = True
Case "F": Range("43:43,46:47,50:57").EntireRow.Hidden = True
Case "G": Range("43:43,45:47,50:53").EntireRow.Hidden = True
Case "FG": Range("43:43,46:47,50:57").EntireRow.Hidden = True
Case "H": Range("41:42,44:57,77:78,80:80").EntireRow.Hidden = True
Case "I": Range("40:49,53:57,77:78,80:82").EntireRow.Hidden = True
Case "HI": Range("41:42,44:45:49,53:57,77:78,80:80").EntireRow.Hidden = True
Case "J": Range("41:57,63:63,67:67,72:72,74:83").EntireRow.Hidden = True
Case "": Range("40:85").EntireRow.Hidden = False
End Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "D25" Then
Select Case Target.Value
Case "Select as appropriate": Range("40:85").EntireRow.Hidden = False
Case "USA - Breen Road": Range("45:45,47:47,53:57,77:78").EntireRow.Hidden = True
Case "USA - Conroe": Range("40:52,77:78,80:80,85:85").EntireRow.Hidden = True
Case "USA - Lafayette": Range("43:43,45:47,49:49,53:57,61:83").EntireRow.Hidden = True
Case "Europe - Aberdeen": Range("40:49,53:57,77:78,80:80").EntireRow.Hidden = True
Case "Europe - Gateshead": Range("53:57").EntireRow.Hidden = True
Case "Middle East - Dubai": Range("43:43,46:47,50:57").EntireRow.Hidden = True
Case "Middle East - Saudi Arabia": Range("43:43,45:47,50:53").EntireRow.Hidden = True
Case "middle East - All": Range("43:43,46:47,50:57").EntireRow.Hidden = True
Case "Far East - Singapore - Loyang": Range("41:42,44:57,77:78,80:80").EntireRow.Hidden = True
Case "Far East - Singapore - Tuas": Range("40:49,53:57,77:78,80:82").EntireRow.Hidden = True
Case "Far East - Singapore - All": Range("41:42,44:45:49,53:57,77:78,80:80").EntireRow.Hidden = True
Case "Far East - Perth - Australia": Range("41:57,63:63,67:67,72:72,74:83").EntireRow.Hidden = True
End Select
End If
End Sub
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.