龙空技术网

控件跟着鼠标走,VBA让你的操作随心所欲

VBA语言専攻 1202

前言:

今天同学们对“vba获取鼠标单击”大约比较关注,朋友们都需要了解一些“vba获取鼠标单击”的相关文章。那么小编在网络上网罗了一些关于“vba获取鼠标单击””的相关文章,希望各位老铁们能喜欢,朋友们快快来学习一下吧!

大家好,我们今日继续讲解VBA代码解决方案的第97讲内容:控件跟随鼠标,在利用VBA写代码的时候,往往很多发现是不经意间的。对于这类发现要善于总结,善于利用才能逐渐的提高自己的能力。例如在前几篇文章中讲到的利用文本框录入数据的时候,我们往往需要一个界面,作为录入的界面,在这个界面上再进行相应的操作,录入数据后,数据写到工作表中,这种思路是以录入界面为主窗口的,如果我们换种思维模式,可否还以工作表为主题呢?

这时我们的思路会打开,这时录入的数据跟随单元格,类似于单元格的下拉菜单,这时的录入在某种场合下会很方便。还有,在工作表中使用控件时一般都把控件放在工作表的上部,如果工作表中数据较多,当页面滚动到工作表下面的区域时,控件会离开当前可视区域,这时操作起来很不方便。我们今天就来解答这个大胆的猜想。

看下面的代码:

Private Sub Worksheet_Activate()

Me.TextBox1.Text = ""

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

TextBox1.Top = Target.Top

TextBox1.Left = Target.Left + Target.Width

End Sub

代码解析:工作表的SelectionChange事件,使工作表中的按钮控件出现在选定单元格的右边。

在上面的代码中我们

第3行代码,设置TextBox1的Top属性等于选定单元格的Top属性。Top属性设置对象顶端到第一行顶端的距离。

第4行代码,设置TextBox1的Left属性等于选定单元格的Left属性加上选定单元格的宽度,即按钮出现在选定单元格的右边。Left属性设置对象左边界至 A 列左边界的距离。

当单击工作表区域的任一单元格,TextBox1出现在单元格的右边。这样就实现了控件跟随光标的移动达到我们最初设计的要求。如果再加上一些代码,如之前代码中的Sheets("sheet11").Range("a65536").End(xlUp).Offset(1, 0) = TextBox1.Text稍加修改:Target.value= TextBox1.Text 或者根据自己的需要就可以随心所欲的完成录入数据了。

代码截图:

运行窗口:

录入数据:

这时就可以跟随单元格来录入数据了。

今日内容回向:

1 如何实现录入文本框的跟随?

上面的思路是否可以理解呢?

标签: #vba获取鼠标单击