提问人:dudi 提问时间:11/15/2023 更新时间:11/15/2023 访问量:43
使用 VBA Excel 同时向列表框和组合框添加/删除项目
Adding / removing items to listbox and combobox simultaneously using VBA Excel
问:
我是这里的新用户,但有经验的读者:)
我正在寻找一种修改 ListBox 和 ComboBox 中列表的方法,它们相互依赖。 即在 Combo 中选择项目应将其添加到 ListBox。好吧,这很容易,但是...... ...必须从组合中删除相同的项目。 反之亦然 - 从 ListBox 中删除结果,将其添加到组合列表。
请帮忙
在这里编码:
Private Sub ComboBox1_Change()
With ComboBox1
If .ListCount > 0 Then
ListBox1.AddItem (.ListIndex) ' <<< it works
.RemoveItem (ComboBox1.ListIndex)' <<< doesn't work
End If
End With
End Sub
Private Sub ListBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 46 Then ' <<< DEL key
With Me.ListBox1
If .ListIndex > 0 Then 'first item is unremovable
ComboBox1.AddItem .List(.ListIndex)'<<<doesn't work
.RemoveItem (.ListIndex)' <<<works
End If
End With
End If
End Sub
答:
0赞
Mika O.
11/15/2023
#1
当您在错误出现时点击“调试”按钮,然后将鼠标悬停在 上时,您可以看到问题。值 -1 表示没有选定的值。ComboBox1.ListIndex
将代码从一个事件移动到另一个事件。然后你会得到正确的值。ComboBox_Change
ComboBox1_Click
ComboBox1.ListIndex
评论
.RemoveItem
ComboBox1_Change()