[英]How to automatically hide and unhide rows in excel based on multiple cell value
在此處輸入圖像描述我是 excel 宏的新手。 我正在嘗試創建一個宏來根據多個單元格值自動隱藏和取消隱藏 excel 中的行。 我使用數據驗證創建了兩個具有值的下拉單元格,並基於下拉列表我試圖隱藏和取消隱藏。 如果第一個下拉列表是“I 類”而第二個下拉值是 Ä 則只有從 8 到 20 的行應該是可見的,並且從 21 到要隱藏的行末尾的行應該是可見的,同樣當第一個下拉列表是“I 類”時第二個下拉值是“B”行,從 8 到行尾應該隱藏,除了從 23 到 31 的行。如果需要,我可以提供包含虛擬數據的 excel 文件
將此代碼放在通過右鍵單擊工作表名稱選項卡查看代碼訪問的工作表的私有代碼表中。 修改行范圍以適應。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D3, D4")) Is Nothing Then
On Error GoTo meh
Application.ScreenUpdating = False
Range("8:" & Me.UsedRange.Rows.Count).EntireRow.Hidden = True
Select Case Range("D3").Value2
Case "Class I"
Select Case Range("D4").Value2
Case ChrW(196) 'Ä
Intersect(Range("8:20"), Me.UsedRange).EntireRow.Hidden = False
Case "B"
Intersect(Range("21:33"), Me.UsedRange).EntireRow.Hidden = False
Case Else
'do nothing
End Select
Case "Class II"
'copy above for Class I here
'modify rows to show/hide
Case Else
'do nothing
End Select
End If
meh:
Application.ScreenUpdating = True
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.