将 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
,但没用。
我认为您需要将选择的重置放在另一个事件中,例如 KeyUp
或 MouseUp
。
我正在尝试单击 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
,但没用。
我认为您需要将选择的重置放在另一个事件中,例如 KeyUp
或 MouseUp
。