我有一组链接的潜艇,它们的工作原理如下:
-
用户键入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 回答
我在同样的事情上遇到了麻烦 . 我的ActiveX列表框会在工作表上移动并更改大小,我无法看到 .
虽然我继续开发一些代码来重置大小和坐标,但这并不令人满意,因为必须有一种机制来触发代码 - 我不想让最终用户负担 .
我在另一个用户论坛找到了更好的答案 . 有一个名为 IntegralHeight 的Listbox属性,其默认属性为
True
- 与屏幕分辨率和列表框内容的最佳显示有关 . 只需将其设置为False
即可 . 我用一些能让我适合的ActiveX盒子做到了这一点,我能够禁用"adjustment"代码,到目前为止,这么好!