Excel中如何用VB实现这样的条件隐藏

如何用VB实现这样的条件隐藏当AM1=2时自动隐藏BU到CE列当AM1=3时自动隐藏BU到BZ列和CI到CJ列当AM1=4时自动隐藏BU到BV列和CG到CJ列当AM1=5... 如何用VB实现这样的条件隐藏

当AM1=2时 自动隐藏BU到CE列
当AM1=3时 自动隐藏BU到BZ列和CI到CJ列
当AM1=4时 自动隐藏BU到BV列和CG到CJ列
当AM1=5时 自动隐藏BU列和CE到CJ列
当AM1=6时 自动隐藏CC到CJ列

先谢谢了
展开
 我来答
斋沙殳薄
2020-04-27 · TA获得超过3551个赞
知道大有可为答主
回答量:3014
采纳率:27%
帮助的人:399万
展开全部
右键点该工作表的名字(在工作簿的左下方呢),查看代码,粘贴如下代码:PrivateSubWorksheet_Change(ByValTargetAsRange)OnErrorGoToLine1IfTarget.Range("A1").Address="$AM$1"ThenColumns("BU:CJ").Hidden=FalseSelectCaseTarget.Range("A1").ValueCase2Columns("BU:CE").Hidden=TrueCase3Range("BU:BZ,CI:CJ").EntireColumn.Hidden=TrueCase4Range("BU:BV,CG:CJ").EntireColumn.Hidden=TrueCase5Range("BU:BU,CE:CJ").EntireColumn.Hidden=TrueCase6Columns("CC:CJ").Hidden=TrueEndSelectEndIfLine1:EndSub
回到Excel,功能实现。
我试过了,可以。请按步骤操作,最后在单元格AM1输入数据。
启用宏你应该知道吧。(2003版,工具,宏,安全性设置,中。重新打开文件,启用宏)
你要自动的,要求没提明白:)
如果你的微调框是ActiveX控件,在编辑状态下查看其代码;如果是窗体控件,右键指定宏。二者宏的内容都是:
Columns("BU:CJ").Hidden=FalseSelectCaseRange("AM1").ValueCase2Columns("BU:CE").Hidden=TrueCase3Range("BU:BZ,CI:CJ").EntireColumn.Hidden=TrueCase4Range("BU:BV,CG:CJ").EntireColumn.Hidden=TrueCase5Range("BU:BU,CE:CJ").EntireColumn.Hidden=TrueCase6Columns("CC:CJ").Hidden=TrueEndSelect
我觉得你应该基础很好,既然会用微调框,那么请自己尝试解决问题,怎么依赖心理这么强?
如果是窗体控件(就是你可以右键点它),那么右键点它,指定宏,录制宏,停止录制。同时按Alt和F11进入宏界面,找到刚才录制的宏,把里面的内容替换为(Sub和EndSub那两句要保留):Columns("BU:CJ").Hidden=FalseSelectCaseRange("AM1").ValueCase2Columns("BU:CE").Hidden=TrueCase3Range("BU:BZ,CI:CJ").EntireColumn.Hidden=TrueCase4Range("BU:BV,CG:CJ").EntireColumn.Hidden=TrueCase5Range("BU:BU,CE:CJ").EntireColumn.Hidden=TrueCase6Columns("CC:CJ").Hidden=TrueEndSelect
就可以了。
看你提这些问题,应该不是ActiveX控件。
匿名用户
2013-11-26
展开全部
右键点该工作表的名字(在工作簿的左下方呢),查看代码,粘贴如下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Line1
If Target.Range("A1").Address = "$AM$1" Then
Columns("BU:CJ").Hidden = False
Select Case Target.Range("A1").Value
Case 2
Columns("BU:CE").Hidden = True
Case 3
Range("BU:BZ,CI:CJ").EntireColumn.Hidden = True
Case 4
Range("BU:BV,CG:CJ").EntireColumn.Hidden = True
Case 5
Range("BU:BU,CE:CJ").EntireColumn.Hidden = True
Case 6
Columns("CC:CJ").Hidden = True
End Select
End If
Line1: End Sub

回到Excel,功能实现。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-26
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Row < 21 Then
If Cells(Target.Row, 2) < 6 Then Rows(Target.Row).EntireRow.Hidden = True
End If
End Sub

以上代码表示,在B1:B20进行输入操作,如果输入的数值小于6的,就会自动隐藏。 附上Excel表格入门到精通教程,Excel表格教程 http://wenku.baidu.com/view/1a8dec1e650e52ea551898c8.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式