WPS应用之下拉列表 和 多级下拉列表联动

**

wps 中 下拉列表和多级下拉列表的使用

**

一,应用目的

在这里插入图片描述
期望: 第一列下拉列表选择完 人员类型之后 ,可以在 后面的列中自动 填充 人员对应的 薪资、 人员ID 、 备注信息等。 这样在制作表格时,尤其是在制作 报价清单的时候,可以 极大的缩短工作效率。
相当于 我们先把 一些重复使用的硬件列一个表格。 后面在制作硬件清单列表的时候, 通过选择硬件名称,后面就可以针对这个硬件,自动出现 单价 和 性能参数 等信息。

这里面用到的关键技术就是下拉列表。

二, 实现的步骤

1, 在WPS excel 中 创建两个表单;
在这里插入图片描述
比如: sheet1 文件 是我们需要制作的实际的硬件清单。
模板: 代表的是 我们自己已经提前制作好的 重复使用次数多的 硬件性能列表。

2, 模板文件的创建

在这里插入图片描述

以上是我们 举例做的一个 模板文件。

3, 在sheet 中 创建自己的 下拉别表 和 联动(自动填充的列表)

在这里插入图片描述
以上是一个 例子。

(1)测试1 代表的列 ——我们期望使用的是 人员的下拉别表。 选中该列之后,
在这里插入图片描述
步骤: 数据—— 插入下拉列表—— 从单元格选择(也可以手动输入,后续再讲)

选中从 单元格选择之后, 讲鼠标 点击WPS 列表 模板(这是自己起的名字,不是系统自带的模板),跳转到模板的页面

整个选择 C 列(就是我们想用人员类型下拉列表对应的列)

在这里插入图片描述

在这里插入图片描述
然后 在 sheet 中 的 选择框就会自动出现上面箭头所示的 。

(2) 联动下拉菜单(关键的一步)

  1. 先在测试1 下面的第一个 空格里面 从下拉列表中 随便 选择一个选项,比如 项目总监。 然后 在 测试2 下面 的第一个表格 里面 插入 公式 VLookup
    在这里插入图片描述
    在这里插入图片描述

函数参数详细讲解:

(1)查找值: 可以直接用鼠标点击 测试1 下面的第一个格子 —— 这里对应的是 M3 ,
注意: 需要我们自己 在前面 加一个 符号 $ ,(别问我原因,我也不知道)
(2)数据表: 用鼠标定位到 模板的列表, 然后 全部 选中 我们需要的 四列(对应的是 从C 到 F ), 同样的 在选择的第一列 C 的前面 加上一个字符 $
(3 列序数: 代表的 是我们想在当前这个 格子 里面 填充 查询表里面的第几列(从1开始数。)
如下 我们 如果选择的是 4 , 就是 填充 对应 模板 数据列表 中的 第四列。
(4) 匹配条件: 默认填写0 即可。 0 (false)代表的是精确查找。 true(>0)代表的是 模糊查找。

在这里插入图片描述

通过以上一系列操作, 基本上就可以实现 联动的效果。

想象一个场景:

你要做一个很大的 硬件清单列表, 突然 一个硬件的参数 或者报价 出现变化。 以往,我们就需要将所有相关的 这个硬件 找出来 ,然后 每个都修改一下 响应的参数。

采用以上方法之后, 只需要在模板里面修改一次, 自己制作的硬件清单会自动全部修改——简直了。

谨以此文章,献给 做报价清单的程序人员。 在程序员的眼里, 能省事的尽量省事去做,

### WPS 表格中实现下拉列表多选功能的方法 在WPS表格中,要实现在下拉列表中进行多项选择的功能,通常需要借助宏代码来完成这一操作。内置的下拉列表控件并不支持直接多选,因此通过编写简单的VBA(Visual Basic for Applications)脚本可以扩展其能力。 对于希望启用此特性的用户来说,在开启开发者工具之后,可以通过以下方式添加自定义行为: - 打开 VBA 编辑器环境,这一步骤可通过右键单击工作表标签并选取“查看代码”选项进入[^2]; 为了使下拉框能够处理多个选定项,可以在单元格旁边创建一个按钮或者使用其他触发机制运行一段特定的宏程序。这段宏会负责解析用户的输入并将所选项目记录下来。具体而言,当用户从下拉列表选择了某个条目时,该宏将会把新加入的选择追加到现有的字符串后面,并用逗号或其他分隔符将其与其他已选项区分开来。 值得注意的是,由于不同版本之间可能存在差异,建议确认当前使用的软件版本是否完全兼容上述方法。如果遇到任何困难或不确定的地方,查阅官方文档或是在线社区寻求帮助总是明智之举。 ```vba Private Sub Worksheet_Change(ByVal Target As Range) Dim oldValue As String, newValue As String If Not Intersect(Target, Me.Range("A1:A10")) Is Nothing Then ' 假设下拉列表位于 A 列第 1 至 10 行 Application.EnableEvents = False newValue = Target.Value Application.Undo oldValue = Target.Value Target.Value = newValue If Len(oldValue) > 0 And Len(newValue) > 0 Then If InStr(1, oldValue, newValue) = 0 Then Target.Value = oldValue & ", " & newValue Else Target.Value = oldValue End If End If Application.EnableEvents = True End If End Sub ``` 以上代码片段展示了如何捕捉对指定区域内的更改事件,并允许在同一单元格内累积多次选择的结果。每次修改都会被检测到,旧值会被恢复以便于比较是否有重复项存在;如果没有,则将新的选择附加到现有内容之后。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值