首页 文章

Excel ActiveX ListBox随每次更新而缩小

提问于
浏览
2

我有一组链接的潜艇,它们的工作原理如下:

  • 用户键入ActiveX TextBox

  • 该TextBox中的Change Event调用Module中的sub

  • 该模块子驱动器更新工作表中的命名范围

  • 范围值驱动更新基于范围值使用查找函数的Excel单元格表

  • 将表值复制并粘贴到另一个范围(以消除指向公式的链接)

  • 粘贴的范围被放入ListBox使用这个(为了耐心而道具给Rory):

ActiveSheet.ListBox1.List =表格(“搜索条件控制”) . 范围(“G1:G21”) . 值

结果是,对于用户在TextBox中键入的每个字符,ListBox都会更新 .

我遇到的问题是ListBox在上面#1中引用的TextBox中的每次击键时都会缩小一点 . 这是正常的行为,我在滥用ListBoxes,我做错了什么,或者每次更新时都要重新指定ListBox的尺寸吗?

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

提前感谢您对此的任何想法 .

1 回答

  • 5

    我在同样的事情上遇到了麻烦 . 我的ActiveX列表框会在工作表上移动并更改大小,我无法看到 .

    虽然我继续开发一些代码来重置大小和坐标,但这并不令人满意,因为必须有一种机制来触发代码 - 我不想让最终用户负担 .

    我在另一个用户论坛找到了更好的答案 . 有一个名为 IntegralHeight 的Listbox属性,其默认属性为 True - 与屏幕分辨率和列表框内容的最佳显示有关 . 只需将其设置为 False 即可 . 我用一些能让我适合的ActiveX盒子做到了这一点,我能够禁用"adjustment"代码,到目前为止,这么好!

相关问题