【问题标题】:VBA ListBox RemoveItem Unspecified ErrorVBA ListBox RemoveItem 未指定错误
【发布时间】:2022-04-24 23:59:36
【问题描述】:

当我尝试在列表框中调用删除项目时,我收到“-2147467259 (80004005)”未指定错误。

我的 rowsource 属性为空。我最初通过 .additem 在模块中添加项目,然后从列表框所在的表单中调用以下代码:

ListBox1.RemoveItem CInt(index)

获取该行的错误。

【问题讨论】:

  • 这里没有太多信息。我可以安全地假设index 没有导致错误,否则您会收到不同的错误消息InValid Argument。现在,您提到的错误可以在设置行源时复制。是否有可能在代码中的某处设置行源?你能把这一行放在Removeitem 行之前,告诉我你得到了什么Msgbox Listbox1.RowSource
  • MsgBox Listbox1.RowSource 给出了一个空对话框。前面几行有ListBox1.RowSource = ""
  • 但是你有没有在设计模式中设置ListBox1.RowSource
  • 在设计模式下它是空的。还有一点需要注意的是,我要删除的行被选中了,会不会有问题?

标签: excel vba


【解决方案1】:

您尝试删除的项目已被选中。在尝试删除项目之前添加以下语句

Listbox1.Selected(index) = false

【讨论】:

  • 选择对我来说似乎都没有影响
【解决方案2】:

Listbox1.Selected(index) = false是正确的,但是记得换成整数变量,因为.listindex值在取消选择后就消失了,即:

dim mylistindex as integer
With Me.Listvariables
mylistindex = .ListIndex
.Selected(.ListIndex) = False
.RemoveItem (mylistindex)
End With

【讨论】:

    【解决方案3】:

    只需将您的 FM20.DLL 替换为版本 15。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 2015-05-23
      • 1970-01-01
      相关资源
      最近更新 更多