将Excel VBA ActiveX ListBox .Selection分配给TextBox

时间:2015-01-24 02:33:25

标签: excel vba listbox

我尝试单击ActiveX ListBox上的选择并将值分配给TextBox,然后清除ListBox。这似乎很简单,但我是 获取'对象不支持此属性或方法'在第一行

这就是我正在使用的:

Private Sub ListBox1_Click()

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

End Sub

对于如何使这个词或资源进行搜索的任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:0)

您的代码将更清晰地写成:

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

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

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