试图根据某些单元格值在Excel中隐藏行
我正在四处寻找一个公式来隐藏特定单元格input的某些行。 在单元格C5
我有一个下拉select“ Corporates
”和“ Projects
”。 在单元格C8
我有一个下拉select“ High
”,“ Medium
”和“ Low
”。 在单元格H6
我有公式=C5&C8
。 我有的macros如下:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(False, False) = "H6" Then Select Case Target.Value Case "CorporatesHigh": Rows("21:33").Hidden = True: Rows("12:20").Hidden = False Case "CorporatesMedium": Rows("21:33").Hidden = True: Rows("12:20").Hidden = False Case "CorporatesLow": Rows("25:33").Hidden = True: Rows("12:24").Hidden = False Case "ProjectsHigh": Rows("25:28").Hidden = False: Rows("29:33").Hidden = True: Rows("12:24").Hidden = True Case "ProjectsMedium": Rows("25:28").Hidden = False: Rows("29:33").Hidden = True: Rows("12:24").Hidden = True Case "ProjectsLow": Rows("25:33").Hidden = False: Rows("12:24").Hidden = True Case "": Rows("12:33").Hidden = False Case "Corporates": Rows("12:33").Hidden = False Case "Projects": Rows("12:33").Hidden = False Case "High": Rows("12:33").Hidden = False Case "Medium": Rows("12:33").Hidden = False Case "Low": Rows("12:33").Hidden = False End Select End If End Sub
当我点击进入H6
时,这个macros可以工作,但是当单元格C5
或者C8
改变时,我需要它工作。
If-Not-Intersect-Is Nothing
模式是检查改变的单元是否在给定的单元格范围内的首选方法。
要处理所有三个单元格,可以使用以下内容。 如果需要,您可以轻松添加或删除单元格到Range
。
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("H6,C5,C8")) Is Nothing Then Select Case Range("H6").Value Case "CorporatesHigh": Rows("21:33").Hidden = True: Rows("12:20").Hidden = False Case "CorporatesMedium": Rows("21:33").Hidden = True: Rows("12:20").Hidden = False Case "CorporatesLow": Rows("25:33").Hidden = True: Rows("12:24").Hidden = False Case "ProjectsHigh": Rows("25:28").Hidden = False: Rows("29:33").Hidden = True: Rows("12:24").Hidden = True Case "ProjectsMedium": Rows("25:28").Hidden = False: Rows("29:33").Hidden = True: Rows("12:24").Hidden = True Case "ProjectsLow": Rows("25:33").Hidden = False: Rows("12:24").Hidden = True Case "": Rows("12:33").Hidden = False Case "Corporates": Rows("12:33").Hidden = False Case "Projects": Rows("12:33").Hidden = False Case "High": Rows("12:33").Hidden = False Case "Medium": Rows("12:33").Hidden = False Case "Low": Rows("12:33").Hidden = False End Select End If End Sub