Excel 用宏隐藏和取消隐藏某行
当选择下拉菜单第一个选项时(A1=1),隐藏第2~5行,取消隐藏第6~8行;
当选择下拉菜单第二个选项时(A1=2),取消隐藏第2~5行,隐藏第6~8行;
Private Sub Worksheet_Calculate()
If Range("A1") = 1 Then
Rows("2:5").Select
Selection.EntireRow.Hidden = True
Rows("6:8").Select
Selection.EntireRow.Hidden = False
ElseIf Range("A1") = 2 Then
Rows("2:5").Select
Selection.EntireRow.Hidden = False
Rows("6:8").Select
Selection.EntireRow.Hidden = True
End If
End Sub
这个为什么不行啊? 展开
工具/材料:Microsoft Office Excel2007版,Excel表格。
1、首先选中Excel表格,双击打开。
2、然后在该界面中,显示第三行被隐藏。
3、再者在该界面中,右键点击“查看代码”选项。
4、其次在宏界面中,输入宏代码“Sub Macro1() Rows("3:3").Select Selection.EntireRow.Hidden = False Rows("4:4").Select Selection.EntireRow.Hidden = True End Sub”。
5、继续在宏界面中,点击“执行”按钮。
6、最后在该界面中,显示第三行显示,第四行被隐藏。
推荐于2017-09-08 · 知道合伙人软件行家
比如说要隐藏第10行,然后再取消隐藏第10行。
为了大家更方便学习编写VBA。用记录宏的方法来做。
第一步:点击开发工具-记录宏图标。如图:
第二步:选择第10行,选择隐藏。
第三步:点击停止录制图标。
查看录制的宏如下:
Sub Macro1()
' Macro1 Macro
Rows("10:10").Select
Selection.EntireRow.Hidden = True
End Sub
同样可以生成取消隐藏的宏。如下:
Sub Macro3()
'
' Macro3 Macro
Rows("9:11").Select
Selection.EntireRow.Hidden = False
End Sub
大家看了这个过程,是否觉得这EXCEL vba也不难学吧。
换成
Private Sub Worksheet_Change(ByVal Target As Range)
--------
整个程序可以换成:
Private Sub Worksheet_Change(ByVal Target As Range)
For Each c In Target
If c.Address = [A1].Address Then GoTo 100
Next
Exit Sub
100:
If [A1].Value = 1 Then
Rows("2:5").Hidden = True
Rows("6:8").Hidden = False
ElseIf [A1].Value = 2 Then
Rows("2:5").Hidden = False
Rows("6:8").Hidden = True
End If
End Sub
谢谢您的回答。。。不过试了一下,手动改A1的值,就可以,但选择下拉菜单去改变A1的值,就没反应了~请问怎么改啊
下拉菜单 是数据有效性吗?我的可以动的啊,Hi我,这样追问太累