【问题标题】:Error &H8000FFFF(-2147418113) when applying locked property to listbox将锁定属性应用于列表框时出现错误 &H8000FFFF(-2147418113)
【发布时间】:2015-04-30 17:47:46
【问题描述】:

我正在为 VBA 编写应用程序。结果是我有一个组合框,当它发生变化时,它会解锁一个名为 Cotizaciones_y_obras 的用户表单内的列表框:

Cotizaciones_y_obras.ListBox3.Locked = False

问题是当我运行 VBA 应用程序并执行上面的句子时,错误 &H8000FFFF(-2147418113) 出现在另外 6 条错误消息中,并且 Excel 不允许保存任何内容。每次发生这种情况时,我都必须重新启动 Excel。

我查看了一些论坛,人们建议您禁用您拥有的所有插件。我没有启用它们中的任何一个,而且似乎问题出在 Excel 2k10 和 Excel 2013 上。

似乎与用户表单中的多页和某些属性有关。此人有类似问题 in this post 。 Combo Box变化时触发的例程如下:

 Private Sub Estatus_Combo_box_Change()
      With Sheets("Contadores_Folios").Range("B2")
      If Sheets("Banderas Sistema").Range("A2").Value <> "E" Then
         Folio_Cotizacion.Text = IIf(Estatus_Combo_box.Text = "Esperando        Aprobacion", "CO" + CStr(.[B2] + 1), "")
         Folio_Obra.Text = IIf(Estatus_Combo_box.Text = "Esperando Aprobacion", "", "OB" + CStr(.[C2] + 1))
      End If
 End With

  call bloquear_lista_se
  Cotizaciones_y_obras.ListBox3.Locked = False

End Sub

非常感谢!

【问题讨论】:

    标签: vba excel combobox listbox


    【解决方案1】:

    我没有看到任何多页... ??

    您可以简化代码以使调试更容易一些:

    Private Sub Estatus_Combo_box_Change()
     With Sheets("Contadores_Folios").Range("B2").Value
      If Sheets("Banderas Sistema").Range("A2").Value <> "E" Then
       Folio_Cotizacion.Text = IIf(Estatus_Combo_box.Text = "Esperando Aprobacion", "CO" + CStr(.[B2] + 1), "")
       Folio_Obra.Text = IIf(Estatus_Combo_box.Text = "Esperando Aprobacion", "", "OB" + CStr(.[C2] + 1))
      End If
     End With
    
     bloquear_lista_se
     ListBox3.Locked = False
    End Sub
    

    【讨论】:

    • 非常感谢您提供有关缩短代码的提示。关于多页的问题是我使用 vba 工具箱创建了所有可视对象,所以没有这样的代码。
    • 我假设组合框“estatus_combo”与“Listbox3”在同一个用户表单中。
    • 是的,它在同一个用户表单中
    • 如果在 'bloquear_lista_se' 之前没有发生错误,我建议您将代码发布在该子目录中。
    猜你喜欢
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多