在excel2010怎样使用VBA实现:根据某个单元格的内容来判断是否隐藏某些特定的行?
3个回答
展开全部
Sub myHide()
Dim Rng As Range
If ActiveWindow.RangeSelection.Count = 1 Then End '如果不是多选就结束
For Each Rng In ActiveWindow.RangeSelection '历遍每个选择区里单元格
If Rng.Value = "条件" Then '如果有单元格符合条件
ThisWorkbook.ActiveSheet.Rows(Rng.Row).Hidden = True '隐藏这一行
End If
Next
End Sub
Dim Rng As Range
If ActiveWindow.RangeSelection.Count = 1 Then End '如果不是多选就结束
For Each Rng In ActiveWindow.RangeSelection '历遍每个选择区里单元格
If Rng.Value = "条件" Then '如果有单元格符合条件
ThisWorkbook.ActiveSheet.Rows(Rng.Row).Hidden = True '隐藏这一行
End If
Next
End Sub
追问
理解有分歧。举个例子说明题意吧。如果单元格A1的内容为1,则隐藏行5、行6、行7,如果为2,则不隐藏。
另外我是刚接触VBA,我还需要怎样去把这个宏应用到EXCeL中。我尝试写过一个,保存时提示我需要打开启用宏的文件。
追答
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
With Target
If .Address = "$A$1" Then
ActiveSheet.Rows(5).Hidden = (.Value = 1)
ActiveSheet.Rows(6).Hidden = (.Value = 1)
ActiveSheet.Rows(7).Hidden = (.Value = 1)
End If
End With
Application.ScreenUpdating = True
End Sub
保存文件的时候,要先选择文件类型,在文件类型选择下拉菜单里有个启用宏的文件格式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询