excel - 多个 ListBox 选择,根据选择动态更新文本
问题描述
我有一个用户窗体,它填充了一个多选列表框(基于隐藏工作表中的逗号分隔单元格)。
如果用户从列表框中选择单个项目,我希望根据他们的选择显示该项目的特定注释。
如果他们选择 MULTIPLE,我希望注释将他们刚刚选择的项目的注释添加到现有的项目中,而不复制最初选择的项目。
如果用户取消选择原始项目但保留第二个项目,则现在需要删除不可见的线条。除了重复...
目前我的代码是:
'check for nothing selected
If Driver_Sel = "" Then
'nothing selected
lbl_driverID.Caption = ""
End If
If InStr(1, Driver_Sel, "PC-CR") <> 0 Then
'PCCR format
lbl_driverID.Visible = True
lbl_driverID.Caption = lbl_driverID.Caption & vbNewLine & "-PC-CR: use Format: PCCR-0000xxxx/001"
ElseIf Not InStr(1, Driver_Sel, "PC-CR") <> 0 Then
'remove PCCR
lbl_driverID.Visible = True
lbl_driverID.Caption = Replace(lbl_driverID.Caption, "-PC-CR: use Format: PCCR-0000xxxx/001", "")
End If
If InStr(1, Driver_Sel, "PRTS") <> 0 Then
'PRTS
lbl_driverID.Visible = True
lbl_driverID.Caption = lbl_driverID.Caption & vbNewLine & "-PRTS: include a PRTS#"
ElseIf Not InStr(1, Driver_Sel, "PRTS") <> 0 Then
'remove PCCR
lbl_driverID.Visible = True
lbl_driverID.Caption = Replace(lbl_driverID.Caption, "-PRTS: include a PRTS#", "")
End If
我认为这是因为我有标签的标题(蓝色文本)使用它的现有值,然后添加新项目..即使它是重复的。
我在这里有点难过......关于只显示一个笔记实例的任何帮助?
先感谢您!!
解决方案
lbl_driverID.Caption
应该在执行之间重置。否则,它只会在每次列表框选择更改时累积文本。
lbl_driverID.Caption = ""
在 If Else 块的开头尝试。
例如:
用户打开一个新的用户表单。用户选择“PC-CR”作为第一个值。lbl_driverID.Caption
为空白,脚本为其分配值“-PC-CR:使用格式:PCCR-0000xxxx/001”。
然后用户选择其他东西,但选择仍然包含第一个选择的值“PC-CR”。因此脚本重新将相同的值添加到标题中。这就是双打的来源。
对于不可见的线条:
那是因为您正在vbNewLine
为每个新项目添加标题,但您只是删除文本而不是vbNewline
. 查看这两行之间的区别:
lbl_driverID.Caption & vbNewLine & "-PC-CR: use Format: PCCR-0000xxxx/001"
Replace(lbl_driverID.Caption, "-PC-CR: use Format: PCCR-0000xxxx/001", "")
请注意,vbNewLine
未计算在内。
推荐阅读
- php - 如何使用 Echo 隐藏 PHP 未定义的错误消息?
- java - 具有线性时间复杂度的嵌套循环?
- php - 如何解决致命错误:Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
- c# - 从数据库中读取 varbinary 列并在弹出窗口中显示
- node.js - 依赖注入错误 TSED 单元测试服务
- java - 无法从 ADB shell 启动活动
- dataframe - Julia - 数据框 - 如何使用 by() 强制转换为向量/多行值标量结果
- php - 在 laravel 5.8 中更新图像时文件输入表单的默认值
- apache - SVN 无法打开密码文件
- python - 如何在openpyxl中将列宽设置为bestFit