【发布时间】:2023-03-05 10:12:01
【问题描述】:
在我解释我的问题之前先介绍一下背景知识。此工作表包含多个复选框,其中列出了各种机器部件。同一文件的另一张表包含部件标题和部件号。
VBA 代码的作用是查看已选中的复选框,然后参考零件编号表,获取零件名称和编号并将其添加到组合列表中。
代码按预期工作,但问题在于重复。例如,如果有人选中和取消选中一个复选框,组合框将有多个相同部分的条目。
这是我想要的一些帮助。基本上我想要实现的是当有人取消选中一个复选框时,该部分名称和编号将从组合框中删除。代码如下:
Private Sub CheckBox1_Click()
Dim SearchString As String
Dim SearchRange As Range
SearchString = CheckBox1.Caption
Dim ans As String
Set SearchRange = Sheets("Table of Part Numbers").Range("A39:A45").Find(SearchString,
LookIn:=xlValues, lookat:=xlWhole)
If SearchRange Is Nothing Then MsgBox SearchString & " Not Found": Exit Sub
ans = SearchRange.Offset(0, 1).Value
ComboBox1.AddItem ans
End Sub
【问题讨论】:
-
注意:我不能使用选项按钮。
-
任何更改后清除列表运行宏以根据选定的复选框重建它。