各位,在Office中见过快速数据选择,也称为下拉组合框或复合框吗?相信大家都用过。这个一般嘛。拿来就可以了。但是,在许多网页上选择数据时,这个组合框经常提供熟悉的提示(例如“-选择订单编号-”等),因此设计的组合框非常人性化,一眼就能看出这个组合框选择了什么数据。
巧的是,我昨天上午遇到了我教的已经参加工作的学生,问了我这样的问题。我整个上午都在Office上实现了她需要的组合框功能。
她要求的功能是:窗口启动后,组合框会立即显示熟悉的选择提示,组合框内光标不能闪烁,单击组合框中的下拉三角形按钮,不选择时组合框列表中不能有选择提示字符。但是,组合框上方仍然保留提示选择文字。(大卫亚设)。
这些要求看起来很简单,但实现这些定制功能的组合框仍然很困难!至少对这个学生是这样的。为此,我自己也动了点脑筋,终于想出来了。这可能是很多Office办公室朋友一起经历的问题。现在我来分享一下我解决的想法。
一、excel前端简单界面设计
在开发工具下插入表单按钮控件,设置和指定宏执行。如下图所示
图1插入表单按钮控件
二、直接进入Excel的VBA背景表单界面设计
插入表单以设置其属性,然后插入组合框和标签。如下图所示
图2背景表单和上述控件设置
三、根据功能需求说明设计后台代码。
表单代码:
“Private Sub UserForm_Initialize()”表单开始初始化
ComboBox1。Clear
定义和初始化“arr=Array(‘-可选-’,‘北京市’,‘上海市’,‘天津市’,‘重庆市’)”数组
函数For I=0 To UBound(arr) 'UBound()会取得阵列的上限(阵列中最后一个元素的编号)
ComboBox1。AddItem arr(i)
next
combobox 1 . style=fmstyledropdownlist
ComboBox1。ListIndex=0
End Sub
private sub combobox 1 _ mouse down(byval button as integer、byval shift as integer、byval x as single和byval y as single)
组合框(复选框)下的列表项是堆栈的数据结构(先进先出、后进先出),从尾部(堆栈顶部)开始_
,因此组合框中列表项目的下一次删除只能在组合框下从上到下删除列表项目,因此ComboBox1。不使用Clear方法_
ComboBox1。使用Clear方法可以清除所有元素,因为组合框中的所有列表项目元素完全清除后,将生成_。
组合框内光标闪烁与不想看到组合框内光标闪烁的想法相去甚远,因此使用了combobox1.re _
以温和的方式(逐个删除MoveItem(i)列表项目)防止光标出现
删除for I=combobox 1 . list count-1 to 0 step-1 '上方的馀料组合框列表项
ComboBox1。RemoveItem (i)
next
以下是按下鼠标时重置组合框的新列表项目
定义并初始化“arr=Array(‘北京市’、‘上海市’、‘天津市’、‘重庆市’)”数组
函数For I=0 To UBound(arr) 'UBound()会取得阵列的上限(阵列中最后一个元素的编号)
ComboBox1。AddItem arr(i)
next
End Sub
模块1代码:
Sub test()
u
End Sub
四、组合框选择效果测试的自定义功能
(一个
)点击前端表单控件按钮“解决组合框提示性选择问题的测试”:弹出含有定制功能组合框的表单。如下图所示图3 弹出的组合框表单
(二)点击下拉组合框:会发现提示选择文字仍暂留,但组合框列表已经没有提示文字元素了,同时也无光标在组合框内部闪动现象。如下图所示
图4 点击下拉组合框的列表效果
(三)选择一个列表项后:会发现立即该列表项目取代了提示选择文字,这也达到了功能需求。如下图所示
图5 选择一个列表项的呈现效果
五、涉及的关键技术点
(一)初始化窗体同时加载组合框列表内容且将组合框的样式设置为“fmStyleDropDownList”。如下截图所示
图6 初始化窗体的组合框禁用输入设置
(二)利用组合框的鼠标按下事件(其他组合框事件都不行,唯独该组合框鼠标压下事件才行,不信的话,各位可自行尝试)巧妙实现组合框列表内容的瞬时更新。如下图所示
图7 实现压下鼠标左键实施组合框列表内容瞬时更新
(三)用Ubound(数组名)函数实现数组下标上限(下标上界)的自动获取,如本设计案例中对数组arr的下标上限获取就用到了Ubound(arr)函数实现。
好了,本期我们关于定制功能组合框的设计的分享就到此为止了,希望对大家的Office办公工作有所帮助哦!
最后,同样感谢大家的长期关注(跟我学Office高级办公)、推广和点评哦!天气凉了,各位朋友多多注意身体吧!
1.《【excel怎么复合框】标题文章——组合框提示选择问题的解决》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《【excel怎么复合框】标题文章——组合框提示选择问题的解决》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/2492487.html