将 Excel VBA ActiveX ListBox .Selection 分配给 TextBox

Assigning Excel VBA ActiveX ListBox .Selection to a TextBox

我正在尝试单击 ActiveX 列表框上的一个选择并将值分配给文本框,然后清除列表框。这看起来很简单,但我 在第一行出现“对象不支持此 属性 或方法”

这是我正在使用的:

Private Sub ListBox1_Click()

    ActiveSheet.OLEObjects("TextBox3").Object.Value = ActiveSheet.OLEObjects("ListBox1").Object.Selection
    ActiveSheet.OLEObjects("ListBox1").Object.Selection = ""

End Sub

如有任何关于如何使这个词或资源可供搜索的想法,我们将不胜感激。

你的代码这样写会更简洁:

Private Sub ListBox1_Click()
  TextBox1.Value = ListBox1.Text
  ListBox1.Selected(ListBox1.ListIndex) = False
End Sub

但是有一个问题:第二行在 ListBox1_Change 事件中不起作用(因为它会创建一个无限循环)。我试过 Application.EnableEvents = False,但没用。

我认为您需要将选择的重置放在另一个事件中,例如 KeyUpMouseUp