本文主要是介绍VBA高级应用30例:实现在列表框内及列表框间实现数据拖动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中分发VBA程序,写好的程序可以升级。本套教程共三册三十个专题,本讲的内容是:VBA高级应用30例应用2实现在列表框内及列表框间实现数据拖动:类模块代码的实现过程
【分享成果,随喜正能量】 人只有实实在在的有所成长,并且真正感受到了这些成长带给自己的益处,才会真正去感恩带给自己成长的各种机缘,才会发自内心地说:一切都是最好的安排,才能把负面的事物,做出正向的解读。。
应用2 在列表框内及列表框间实现数据拖动
2 类模块代码的实现过程
在类模块中我们要完成各种类对象的属性设置及读取,事件的响应等等。我给大家一一讲解:
1)各种变量的设置,在下面的各个代码中,进行各个参数的设置,有鼠标拖放确定的项及列表框的变量,左键的设置,以及事件响应的列表框对象,是否允许控件拖动的变量及鼠标定位的设置:
'用于在鼠标拖放时确定的项
Private mlListItemCount As Long
Private mdListItemSize As Double
'我们从中拖动项目的列表框
Private mobjFromList As MSForms.ListBox
'左键设置
Private Const lLEFTMOUSEBUTTON As Long = 1
Private WithEvents moListBox1 As MSForms.ListBox
Private WithEvents moListBox2 As MSForms.ListBox
'这两项决定是否允许在控件内拖动:
Private mbDragWithin1 As Boolean
Private mbDragWithin2 As Boolean
Private mXStart As Single
Private mYStart As Single
代码的截图:
2)下面代码对列表框ListBox1的属性进行读写设置,在属性写的设置过程中,我们模拟用了40个项目填充列表框,然后删除,这个过程中我们会获得参数 mdListItemSize参数的初始值,也提供给大家一个捕获鼠标位置的可选方案,代码如下:
[待续]
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
这篇关于VBA高级应用30例:实现在列表框内及列表框间实现数据拖动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!