Excel ActiveX ListBox每次更新都会缩小

我有一套链接的工作是这样的:

  1. 用户键入到一个ActiveX文本框
  2. 该TextBox中的更改事件调用模块中的一个子
  3. 该模块子驱动器更新工作表中的命名范围
  4. 范围值驱动更新基于范围值使用查找函数的Excel单元格表
  5. 表值被复制并粘贴到另一个范围(以消除到公式的链接)
  6. 这个粘贴的范围被放入一个ListBox(使用这个来支撑Rory的耐心):

    ActiveSheet.ListBox1.List = Sheets(“Search Criteria Control”)。Range(“G1:G21”)。Value

结果是,对于用户在文本框中键入的每个字符,ListBox被更新。

我遇到的问题是,ListBox中的每一个按键在上面#1中提到的TextBox中缩小了一点。 这是正常的行为,我滥用ListBoxes,我做错了什么,或者我需要重新指定列表框的尺寸每次更新这样的事情?

ActiveSheet.OLEObjects("ListBox1").Top = 35 ActiveSheet.OLEObjects("ListBox1").Left = 650 ActiveSheet.OLEObjects("ListBox1").Width = 550 ActiveSheet.OLEObjects("ListBox1").Height = 610 

在此先感谢您的任何想法。

我遇到了同样的问题。 我的ActiveX列表框会在表单上移动,无法看到我改变的大小。

虽然我确实继续开发一些代码来重置大小和坐标,但是这并不令人满意,因为必须有一种机制来触发代码 – 这是我不希望给最终用户造成的负担。

我在另一个用户论坛中find了更好的答案。 有一个名为IntegralHeight的默认属性为True的Listbox属性 – 与屏幕分辨率和列表框内容的最佳显示有关。 只需将其设置为False 。 我做了一些ActiveX框,让我适合,我可以禁用“调整”的代码,到目前为止,这么好!