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

2025-05-20 23:18:21
推荐回答(1个)
回答(1):

右键点该工作表的名字(在工作簿的左下方呢),查看代码,粘贴如下代码: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控件。