欢迎来到天天文库
浏览记录
ID:8444213
大小:97.00 KB
页数:5页
时间:2018-03-28
《excel多级下拉选择菜单的总结贴》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Excel多级下拉选择菜单的总结贴 第1例:EXCEL自动对应选择下拉菜单 背景:某工厂的Excel表,首先选择车间,然后再选择不同工序,每一个工序对应不同的步骤。 工序与步骤存放在【详细工序步骤】工作表中,表中的第一行为工序名,每一个工序名所在列中存储对应的步骤名: 实现: 第一步:由于选择车间与其它选择无关,车间名称也不会轻意改变,因此可以用复制上一行的有效性的方法来实现。同样的理由工序也这样处理,代码如下:复制内容到剪贴板代码:PrivateSubWorksheet_BeforeDoubleClick(ByValT
2、argetAsRange,CancelAsBoolean) IfTarget.Row>2AndTarget.Column<3Then Target.Offset(-1,0).Copy Target.PasteSpecial(xlPasteValidation) EndIfEndSub 上述代码在Sheet1中实现了双击第1、2列,会自动复制上一行的有效性。是通过选择性粘贴实现的。 下面的代码实现:当第2列改变时,第3列的有效性会相应改变;复制内容到剪贴板代码:PrivateSubWorksheet_Ch
3、ange(ByValTargetAsRange) DimwsAsWorksheet DimrAsRange,cAsRange DimsStrAsString IfTarget.Row>1AndTarget.Column=2AndTarget.Count=1Then IfTarget.Value<>""Then Setws=Worksheets("详细工序步骤") Setr=ws.Rows(1).Find(What:=Target.Value,LookIn:=xlValues,LookAt:
4、=xlWhole,MatchByte:=Fals) IfNotrIsNothingThen Setc=ws.Cells(2,r.Column) DoWhilec<>"" sStr=sStr&","&c.Value Setc=c.Offset(1,0) Loop Setr=Nothing Setc=Nothing CallDynamicValidation(Targ
5、et.Offset(0,1),sStr) EndIf Setws=Nothing EndIf EndIfEndSubPrivateSubDynamicValidation(ByValTAsRange,sStrAsString) WithT.Validation .Delete .AddType:=xlValidateList,AlertStyle:=xlValidAlertStop,Operator:=xlBetween,Formula1:=sStr EndWithEnd
6、Sub 详见具体实例:《EXCEL自动对应选择下拉菜单》[本帖最后由美猴王于2008-3-1912:55编辑]让你的Excel更精彩!!UID2 帖子720 精华2 积分683 阅读权限150 性别男 在线时间792小时 注册时间2007-11-20 最后登录2008-8-27 查看详细资料TOP美猴王美猴王超级版主·发短消息·加为好友·3#大中小发表于2008-3-1908:42 只看该作者第2例:Excel多级下拉菜单,数据自动填充 背景:某工厂的Excel表,要求在B列可以自动生成产品系列的下拉菜单,然后C列的菜单内容随之变
7、化,D列根据C列的选择自动调出对应工作表的计划量,同时在E列加一超级连接,点击后可以转到相应的工作表中。生产计划用料汇总表序号产品系列产品名称计划量(Kg)备注11.纯净系列 21.纯净系列珍珠纯净美白洁面乳(滋润型)1sheet431.纯净系列纯净美白修护面膜1111sheet641.纯净系列珍珠纯净美白洁面乳(泡沫型)10000sheet553.极度系列极度保湿洁肤乳 62.清爽防晒系列 71.先在产品系列中选择系列(B2---B29)3.输入本次生产的计划数量(如多少KG)当前离线2.当选择系列后"产品名称"处显示为当
8、前系列内所有的选择菜单(产品菜单在产品目录表里可以)4.能不能实现我点击一下转到就可以转到我所选择产品的配方中,8生产计划用料汇总表序号产品系列产品名称对应工作表11.纯净系列 2 纯净美白修护面膜sheet63 珍珠
此文档下载收益归作者所有