【发布时间】: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