Excel ListBox奇怪的行为

时间:2017-12-01 19:51:09

标签: excel listbox

好的,这里有一些事情我无法找到解决方案。我在表单,ListBox1和listBox2中加载了2个列表框。 ListBox1正在加载特定文件夹中的文件名,而ListBox2在您单击每个文件时从这些文件中加载特定信息。

我这样做的方法是,当你单击左侧的文件时,文件被打开,一个特定的数据范围被复制到内存中,转储到ListBox2中,文件被关闭后。

这一切都有效,但有问题。 ListBox2中的复制/粘贴操作工作正常(字符完全从源复制),当我打开excel工作簿但当我尝试复制/粘贴并关闭源excel文件时,我在ListBox2中得到了非常奇怪的字符。见下文。我知道ListBox有32k项的限制,但事实并非如此,复制的范围是200行。

当我使用

关闭背景中的Excel时会发生此行为

工作簿(workbooknow)。关闭SaveChanges:= False

如果我注释掉上面的代码。 listbox2显示得很漂亮。我不明白为什么与文件的差异打开与否,因为在关闭文件之前数据已经被转储到ListBox2中。这是一个记忆问题???

1 个答案:

答案 0 :(得分:1)

好吧,这是一个简单的修复,我从数组加载数据,现在一切都很完美

Dim DataArray As Variant

然后......

DataArray = Range(“A9:F200”)。值

With Me.ListBox2
         .List = DataArray
         .ColumnHeads = False
         .ColumnWidths = "70;70;50;100;260;80"
         .ColumnCount = 6
         .MultiSelect = fmMultiSelectMulti
End With