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宏编程可以实现在下拉列表中的多选功能。具体来说,在用户窗体(UserForm)上添加 ListBox 控件来完成这一操作[^2]。 对于希望创建一个多选的下拉列表的情况,主要步骤涉及启用开发工具加载项、设计用户界面以及编写必要的 VBA 代码逻辑。下面是一个简单的例子展示如何设置这样的控件: #### 启用开发者选项并插入用户表单 确保启用了“开发工具”,这允许访问 Visual Basic for Applications (VBA),进而能够向工作簿内嵌入自定义表单脚本。 #### 设计用户表单 打开 VBA 编辑器后,选择 `Insert` -> `UserForm` 来新建一个空白表单。接着拖拽一个名为 `ListBox` 的组件到此表单上,默认命名为 `ListBox1`;如果存在多个类似的控件,则应相应调整其名称以匹配实际使用的对象名。 #### 编写支持多选的 VBA 脚本 为了使 ListBox 支持多项选择,需要修改 MultiSelect 属性值为 fmMultiSelectMulti 或者其他合适的枚举成员,并且处理选定项目的变化事件以便收集用户的输入。以下是部分示范性的 VBA 代码片段用于配置 ListBox 响应选择变化: ```vba Private Sub UserForm_Initialize() ' 初始化时填充列表框内容 With Me.ListBox1 .AddItem "Option A" .AddItem "Option B" .AddItem "Option C" .MultiSelect = fmMultiSelectMulti End With End Sub Private Sub ListBox1_Change() Dim selectedItems As String For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) Then selectedItems = selectedItems & ListBox1.List(i) & ", " End If Next i MsgBox "Selected items are: " & Left(selectedItems, Len(selectedItems) - 2) End Sub ``` 这段程序会在每次改变 ListBox 中的选择状态时弹出消息框显示当前所选的所有条目。当然可以根据需求进一步定制这些行为,比如将结果保存回单元格而不是简单地显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值