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