【发布时间】:2018-08-27 20:51:26
【问题描述】:
我正在尝试使用 vba 在 excel 上做一个小的“另存为”界面,这样我就可以将我放入工作表中的一些信息保存在另一个工作表中。我几乎完成了它,它看起来像这样:click here to see my Save As interface
我的问题是我想在双击列表中的一个元素时放置一个事件,比如说 SoCs2。双击时,我希望字符串“SoCs2”出现在下面的文本框中。
我尝试过类似的方法:
Private Sub Listbox1_BeforeDoubleClick(ByVal Cancel As MSForms.ReturnBoolean)
With Me.ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
Me.TextBox1.Value = .List(i, 0)
Exit For
End If
Next
End With
End Sub
我的 ListBox 称为 ListBox1,我的 TextBox 称为 TextBox1。 不幸的是,这段代码不起作用:当我双击我的 ListBox 的一项时,它完全没有任何作用。 有人可以帮我解决这个问题吗?
【问题讨论】:
-
请不要将您的代码放在sn-p中,因为它无法运行,不需要它。只需缩进 4 个空格,格式即为代码。
-
好的,我改了,有什么办法解决我的问题吗?
-
首先,这只是代码的一小部分,至少缺少声明。所以请提供一个 MCVE (stackoverflow.com/help/mcve)。此外,这段代码不起作用也不是一个合适的问题。运行它时会发生什么,显示什么错误消息。这应该是开始修复代码的好方法,因为您可以搜索错误消息并从中推断问题。
-
没有错误信息,当我双击列表中的一个元素时它什么也不做。
-
是的,确实没有声明,因为不需要声明。我只是在我的用户窗体中放了一个 ListBox 和一个 TextBox,仅此而已