Excel中包含文本框的窗体运行时居然出现……

教育   教育   2024-07-04 08:04   上海  
昨天在解决一个朋友的问题时遇到的情况,正常情况下,我们运行窗体时是这个样子的:
这位朋友想在窗体中文本框中输入内容时通过选择单元格的方式输入,可以用InputBox来实现这个需求。
利用文本框的Enter事件来实现,当点击文本框时就弹出输入框,代码如下:
Private Sub TextBox1_Enter()TextBox1.Text = Application.InputBox("请选择单元格输入", , , , , , , 8)End Sub
理论上是完全没问题的吧,可是运行时结果是这样:
窗体还没弹出来时输入框已经弹出来了,这明显不是我们想要的效果。
怎么解决这个问题呢?
首先要知道这个问题是因为当窗体激活时会自动把焦点定位到第一个文本框中,从而触发了文本框的Enter事件,导致了首先弹出了输入框。
所以解决思路应该是,在窗体弹出之前先初始化窗体,把焦点转移到其它没有事件的控件中去。
比如本例中我把焦点转移到了CommandButton1中
Private Sub UserForm_Initialize()CommandButton1.SetFocusEnd Sub
效果如下:
这就是我们想要的效果了。

终身会员权益介绍


1、我录制的所有视频教程都可以免费学习,每门教程都有对应的素材,视频学习永久有效,视频学习中遇到的疑问可以直接找我答疑。


2、除了视频中遇到的问题之外,工作中遇到的问题也可以找我答疑(主要答疑Excel方面的问题)。


3、会员群里不定期会用腾讯会议开直播,根据大家的需求讲解一些实际工作中遇到的问题的解决方案、一些数据处理流程的优化等。


4、我百度网盘中一些常用的软件及学习资料都可以分享给您,包括各版本的Office,政企版WPS,WPS中的VBA插件,以及一些常用的软件等,即我网盘里的所有资源都可以共享给你。


5、终身会员可以分销我的课程,有提成的!


终身会员群只招收100名学员,XF:999,需要的朋友请加V:527240310


米宏Office
轻松学习OFFICE技能,让工作更高效!
 最新文章