excel多级下拉选择菜单的总结贴

上传人:aa****6 文档编号:37781309 上传时间:2018-04-22 格式:DOC 页数:5 大小:97KB
返回 下载 相关 举报
excel多级下拉选择菜单的总结贴_第1页
第1页 / 共5页
excel多级下拉选择菜单的总结贴_第2页
第2页 / 共5页
excel多级下拉选择菜单的总结贴_第3页
第3页 / 共5页
excel多级下拉选择菜单的总结贴_第4页
第4页 / 共5页
excel多级下拉选择菜单的总结贴_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《excel多级下拉选择菜单的总结贴》由会员分享,可在线阅读,更多相关《excel多级下拉选择菜单的总结贴(5页珍藏版)》请在金锄头文库上搜索。

1、Excel 多级下拉选择菜单的总结贴多级下拉选择菜单的总结贴 第第 1 例:例:EXCEL 自动对应选择下拉菜单背景:背景:某工厂的 Excel 表,首先选择车间,然后再选择不同工序,每一个工序对应不 同的步骤。工序与步骤存放在【详细工序步骤】工作表中,表中的第一行为工序名,每一个工序 名所在列中存储对应的步骤名:实现:实现:第一步:由于选择车间与其它选择无关,车间名称也不会轻意改变,因此可以用复制 上一行的有效性的方法来实现。同样的理由工序也这样处理,代码如下: 复制内容到剪贴板 代码代码:Private Sub Worksheet_BeforeDoubleClick(ByVal Targe

2、t As Range, Cancel As Boolean)If Target.Row 2 And Target.Column 1 And Target.Column = 2 And Target.Count = 1 ThenIf Target.Value “sStr = sStr & “,“ & c.ValueSet c = c.Offset(1, 0)LoopSet r = NothingSet c = NothingCall DynamicValidation(Target.Offset(0, 1), sStr)End IfSet ws = NothingEnd IfEnd If End

3、 Sub Private Sub DynamicValidation(ByVal T As Range, sStr As String)With T.Validation.Delete.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=sStrEnd With End Sub详见具体实例:EXCEL 自动对应选择下拉菜单 本帖最后由 美猴王 于 2008-3-19 12:55 编辑 让你的 Excel 更精彩! TOP 美猴王 美猴王超级版主发短 消息 加为 好友 当前

4、离线 3# 大 中 小 发表于 2008-3-19 08:42 只看该作者 第第 2 例:例:Excel 多级下拉菜单,数据自动填充背景:某工厂的 Excel 表,要求在 B 列可以自动生成产品系列的下拉菜 单,然后 C 列的菜单内容随之变化,D 列根据 C 列的选择自动调出对应工 作表的计划量,同时在 E 列加一超级连接,点击后可以转到相应的工作表中。生产计划用料汇总表生产计划用料汇总表序号序号产品系列产品系列产品名称产品名称计划量计划量(Kg)(Kg)备注备注11.纯净系列21.纯净系列珍珠纯净美白洁面乳(滋润型)1sheet431.纯净系列纯净美白修护面膜1111sheet641.纯净系

5、列珍珠纯净美白洁面乳(泡沫型)10000sheet553.极度系列极度保湿洁肤乳62.清爽防晒系列781.先在产品系列中选择系列(B2-B29)2.当选择系列后“产品名称“处显示为当前系列内所有的选择菜单(产品菜单在产品目录3.输入本次生产的计划数量(如多少 KG)4.能不能实现我点击一下转到就可以转到我所选择产品的配表里可以)方中,生产计划用料汇总表生产计划用料汇总表序号序号产品系列产品系列产品名称产品名称对应工作表对应工作表11.1.纯净系列纯净系列 2纯净美白修护面膜sheet63珍珠纯净美白洁面乳(泡沫型)sheet54珍珠纯净美白洁面乳(滋润型)sheet45珍珠纯净美白精华液she

6、et46珍珠纯净美白柔肤水sheet472.2.清爽防晒系列清爽防晒系列 8清爽防晒乳SPF-289清爽防晒乳 SPF-13 10晒后修护精华 113.3.极度系列极度系列 12极度保湿洁肤乳 13极度保湿乳 14极度保湿霜(北方市场) 实现:在计划单中:1、双击 B 列单元格,则会产生选项菜单;2、B 列单元格选项菜单发生变化时,C 列菜单也会随之变化;3、C 列单元格选项菜单发生变化时,E 列会出现相对应的工作表名;4、双击 E 列的工作表名会转到此表;5、D 列计划量数值的变化可以自动填写对应计划表中。在目录工作表中设置相应的选择菜单。下面的代码实现了第 1 项和第 4 项功能 复制内容

7、到剪贴板 代码代码:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)Dim sStr As String, sFirstAddress As String, sTableName As StringDim ws As WorksheetDim c As RangeIf Target.Count = 1 ThenIf Target.Row 2 And Target.Column = 2 ThenSet ws = Worksheets(“产品目录“)Set c = ws.Range(“

8、B2:B65535“).Find(What:=“*“, LookIn:=xlValues)If Not c Is Nothing ThensStr = “sFirstAddress = c.AddressDosStr = sStr & “,“ & c.ValueSet c = ws.Range(“B3:B65536“).FindNext(c)Loop While Not c Is Nothing And c.Address 1 And Target.Column = 5 ThensTableName = Target.ValueOn Error Resume NextWorksheets(sT

9、ableName).Visible = xlSheetVisibleWorksheets(sTableName).ActivateIf Err.Number 2 And Target.Column = 2 ThenSet ws = Worksheets(“产品目录“)Set c = ws.Range(“B2:B65535“).Find(What:=Target.Value, LookIn:=xlValues)If Not c Is Nothing ThensStr = “Set c = c.Offset(1, 1)Do While c.Value 2 And Target.Column = 3

10、 ThenSet ws = Worksheets(“产品目录“)Set c = ws.Range(“C2:C65535“).Find(What:=Target.Value, LookIn:=xlValues)If Not c Is Nothing ThenTarget.Offset(0, 2) = c.Offset(0, 1).ValueEnd IfEnd IfIf Target.Row 2 And Target.Column = 4 ThenOn Error Resume NextWorksheets(Target.Offset(0, 1).Value).Cells(8, “g“) = Target.ValueOn Error GoTo 0End IfEnd If End Sub Private Sub DynamicValidation(ByVal T As Range, sStr As String)With T.Validation.Delete.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=sStrEnd With End Sub与上例不同的是,选择菜单的格式不同。详见具体实例:Excel 多级下拉菜单,数据自动填充

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号