【问题标题】:using vba to select a list box item使用 vba 选择列表框项
【发布时间】:2017-10-20 08:59:29
【问题描述】:

我的问题是能够使用 vba 在列表框中选择行。 我的程序循环遍历一个表并找到列表框的值,即整数/行号,并将其设置在一个变量中,同样用于列表框名称。

所以列表框名称 = 变量 LstName
ListBox value = strvalue 作为整数。

然后我想在列表框中选择该行,使其突出显示 我只是无法让它工作。如果我使用实际名称和数字值,它可以完美运行,但结合 me.LstName.selected(strValue) = True 会产生错误

【问题讨论】:

  • 你能详细说明错误是什么吗? - 谢谢:)
  • @Ian H 想知道您是否有解决问题的方法。我遇到了类似的问题,正在寻找答案。

标签: vba ms-access listbox


【解决方案1】:

列表框不是这样工作的。 LstName.Selected(iRow as Long) As Long 只接受数字,返回 -1 为真,0 为假。

如果要基于字符串在列表框上设置项目,可以使用以下方法:

Public Sub ListboxSelectString(lstListbox As ListBox, strToSelect As String, Optional SelectDeselect As Boolean = True)
    Dim i As Integer
    For i = 0 To lstListbox.ListCount - 1
        If lstListbox.ItemData(i) = strToSelect Then
            lstListbox.Selected(i) = SelectDeselect
        End If
    Next i
End Sub

然后你可以使用ListboxSelectString Me.LstName, strValueMe.LstName上选择strValue

【讨论】:

  • 您好,谢谢您,我会尽快尝试,希望一切都会好起来的.....
  • 嗨,我对此有点不清楚,很抱歉...我已经有了要在列表框中选择的行号我只想从数字中选择该项目。我的代码是循环浏览表单并将控件写入临时表,然后将控件值插入表中。之后我可以使用命令按钮离开表单.....当我完成后,我想返回表单并写回临时表中的值。一些控件是列表框,我的编号为 0 到 n.... 我遇到的问题是如何再次在列表中选择该记录。谢谢
  • 那么请提供完整的描述(你的列表框的值是什么(ListCount),你的strValue的值和类型是什么,你遇到的错误号和描述等。 .
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
  • 2020-07-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多