【问题标题】:Listbox: "could not set the columnWidths property type mismatch"列表框:\"无法设置 columnWidths 属性类型不匹配\"
【发布时间】:2022-08-18 13:16:15
【问题描述】:

我有一个非常简单的列表框代码,但偶尔,特别是在将工作簿移动到新计算机时,我收到错误“无法设置 columWidths 属性类型不匹配” 如果我保存工作簿并重新打开,则在打开用户表单时一切正常。可能是什么原因造成的?谢谢!

        .lstDatabase.ColumnCount = 17
        .lstDatabase.ColumnHeads = True
    
        .lstDatabase.ColumnWidths = \"18,50,80,60,60,40,43,40,44,38,45,35,43,40,95,60,559\"
        
        If iRow > 1 Then
        
            .lstDatabase.RowSource = \"Crypto!A2:Q\" & iRow
        Else
        
            .lstDatabase.RowSource = \"Crypto!A2:Q2\"
            
        End If
  • 您是否在设置 RowSource 后尝试设置 ColumnWidths?
  • 您是否尝试过使用分号而不是逗号? ColumnWidths property
  • 是逗号。我只是不知道为什么保存后它再次起作用。但是使用分号可以完美地工作。非常感谢!
  • @braX 真的很酷,你是个天才!它发生在我身上完全一样,我将冒号改为分号并且效果很好。然而,一个很大的疑问仍然存在,因为我可以保证在此之前它也可以使用冒号多次正常工作。我找不到可以改变什么来改变这种行为;但可以肯定的是,这些事情让我觉得MS VBA有一些令人震惊的“随机反应”,有时......
  • @Guille 这是一个区域设置,因此它将取决于您将计算机设置为使用哪个国家/地区。

标签: excel vba listbox userform


【解决方案1】:
.lstDatabase.ColumnWidths = "18;50;80;60;60;40;43;40;44;38;45;35;43;40;95;60;559"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    相关资源
    最近更新 更多