VBA 中COMBOBOX下拉列表的收起
来源:互联网 发布:高校法学教学软件 编辑:程序博客网 时间:2024/05/19 19:12
<span style="background-color: rgb(255, 255, 255);"></span><pre name="code" class="vb"><span style="font-size: 18px; font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在使用VBA的COMBOBOX组件的时候,想制作一个点击单元格即自己弹出下拉列表,点击其它单元格,即收起列表的功能。</span>
COMBOBOX提供了DROPDOWN的方法,但是却没有提供收起列表的方法,所以如果你点击了第一个单元格,自动弹出列表,并且你没有选择其中任何一项的时候,再点击第二个单元格,下拉列表是不会自己收起来的……
在网上也搜了很多的解决办法,包括mousemove方法和sendkeys方法的联合使用,或者定义全局变量,判断前后两次点击的单元格是否是同一个单元格等等,都没能完全的解决问题,后经自己尝试,找到了下面的办法,特记录如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)With ComboBox1.Visible = False If Target.Count = 1 Then If Target.Column = 2 Then .Visible = True .Width = Target.Width + 15 .Left = Target.Left + Target.Width .Top = Target.Top .Height = Target.Height .Activate Target.Activate .DropDown Else .Visible = False End If End IfEnd WithEnd Sub解决办法实际就是运用activate这个方法,因为在实际中发现,COMBOBOX组件实际是被分离了两个部分,分别是下拉按钮和下拉列表,所以就算你把VISIBLE调成false,也只隐藏了下拉按钮,列表还在。
所以直接就不隐藏,让它整个组件处于活动状态,那么当你点击不同的单元格的时候,就会随着你的点击更新到对应的位置。这里先将控件activate,整个组件将会被更新到当前位置,然后将点击的单元格更新,再将列表弹出来。
0 0
- VBA 中COMBOBOX下拉列表的收起
- 下拉列表comboBox的使用
- Tkinter的下拉列表Combobox
- Windows Mobile 中ComboBox【下拉列表】的使用
- VC中ComboBox下拉列表不显示数据或下拉表高度太小的问题
- 设置ComboBox的下拉列表高度
- EasyUi的ComboBox(下拉列表框)
- 【WPF】两个下拉列表ComboBox的级联
- 下拉列表:comboBox控件
- ComboBox下拉列表
- 在Visual Studio 2005的DataGridView控件中加入ComboBox下拉列表框的实现(C#)
- Visual Studio 2005的DataGridView控件中加入ComboBox下拉列表框的实现(C#)
- 在Visual Studio 2005的DataGridView控件中加入ComboBox下拉列表框的实现(C#)
- 在Visual Studio 2005的DataGridView控件中加入ComboBox下拉列表框的实现(C#)
- 在Visual Studio 2005的DataGridView控件中加入ComboBox下拉列表框的实现(C#)
- 在Visual Studio 2005的DataGridView控件中加入ComboBox下拉列表框的实现(C#)
- 在Visual Studio 2005的DataGridView控件中加入ComboBox下拉列表框的实现(C#)
- 在Visual Studio 2005的DataGridView控件中加入ComboBox下拉列表框的实现(C#)
- 产品经理必读书目
- ctrl+s 屏幕锁定的问题
- java中equals和“==”的差别
- Android性能优化典范
- JAVA 关于abstract 方法里参数的问题
- VBA 中COMBOBOX下拉列表的收起
- 嵌入式系统中看门狗的使用总结
- 导出可执行jar文件注意事项
- Struts2学习笔记(十四)Annotation实现Struts2的配置
- rails 单表继承 观察者
- [Android] Intent 传递对象
- 第八周项目-1.1
- 线性表的线性存储及基本操作
- Leetcode 4 Median of Two Sorted Arrays Java