使用 VBA 取消隐藏 Excel 中的行
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/18074126/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Unhide rows in Excel with VBA
提问by dee
I'm trying to use the following code in Excel, but it is not working. Cell AE25 refers to a cell using data validation to pull the numbers 1-8 from a list.
我正在尝试在 Excel 中使用以下代码,但它不起作用。单元格 AE25 是指使用数据验证从列表中提取数字 1-8 的单元格。
Select Case Range("AE25").Value
Case 1
Range("A26:A28").EntireRow.Hidden = False
Case 2
Range("A26:A29").EntireRow.Hidden = False
Case 3
Range("A26:A30").EntireRow.Hidden = False
Case 4
Range("A26:A31").EntireRow.Hidden = False
Case 5
Range("A26:A32").EntireRow.Hidden = False
Case 6
Range("A26:A33").EntireRow.Hidden = False
Case 7
Range("A26:A34").EntireRow.Hidden = False
Case 8
Range("A26:A35").EntireRow.Hidden = False
End Select
Any help would be appreciated.
任何帮助,将不胜感激。
回答by dee
Paste this code into module of the sheet where your data are, e.g. you have data in 'Sheet1', then paste it to 'Sheet1' class module. HTH
将此代码粘贴到您的数据所在的工作表模块中,例如您在“Sheet1”中有数据,然后将其粘贴到“Sheet1”类模块中。HTH
Private Sub Worksheet_Change(ByVal Target As Range)
' AE25
If (Not Intersect(Target, Range("AE25")) Is Nothing) Then
Select Case Target.Value
Case 1
Range("A26:A28").EntireRow.Hidden = False
Case 2
Range("A26:A29").EntireRow.Hidden = False
Case 3
Range("A26:A30").EntireRow.Hidden = False
Case 4
Range("A26:A31").EntireRow.Hidden = False
Case 5
Range("A26:A32").EntireRow.Hidden = False
Case 6
Range("A26:A33").EntireRow.Hidden = False
Case 7
Range("A26:A34").EntireRow.Hidden = False
Case 8
Range("A26:A35").EntireRow.Hidden = False
Case Else
' hide all rows 26-35 if value is not equal to 1-8
Range("A26:A35").EntireRow.Hidden = True
End Select
End If
' Z40
If (Not Intersect(Target, Range("Z40")) Is Nothing) Then
Select Case Target.Value
Case "PowerPoint", "Verbal"
Range("A41").EntireRow.Hidden = False
Case "None"
Range("A41").EntireRow.Hidden = True
Case Else
End Select
End If
End Sub