前言:
今天同学们对“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获取鼠标单击