《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中分发VBA程序,写好的程序可以升级。本套教程共三册三十个专题,本讲的内容是:VBA高级应用30例应用2实现在列表框内及列表框间实现数据拖动:在工作表界面窗体的加载
【分享成果,随喜正能量】 我们能在生时多做善事,则临死何惧?我们能在平日贡献社会,则虽死犹生。。
应用2 在列表框内及列表框间实现数据拖动
4 在工作表界面窗体的加载
这部分中我给大家讲解一种窗体的加载,这种加载方式在我其他教程中没有介绍过的,也是非常有意思的,大家看下面的代码:
Sub mynzFormShow()
Dim frmDD As mynzForm1
Set frmDD = New mynzForm1
frmDD.Show
Unload frmDD
Set frmDD = Nothing
End Sub
代码的截图:
在以上的代码中我们利用了一个set语句来加载一个新的窗体类对象,我们看一下对于SET语句的讲解:
- Set 语句:将对象引用分配给变量或属性。
语法:Setobjectvar = {[New]objectexpression|Nothing}
参数的讲解:
Part
说明
备注
objectvar
必填。
变量或属性的名称;遵循标准变量命名约定。
New
可选。
在声明以启用隐式对象创建的过程中,经常使用 New。 在将 New 与 Set 结合使用时,它将创建 类的新实例。 如果 objectvar 包含对某个对象的引用,则该引用将在分配新的引用时发布。 New 关键字不能用于创建任何固有对象的新数据类型并且不能用于创建依赖对象。
objectexpression
必填。
表达式包含对象的名称、同一对象类型的另一个声明变量或返回相同对象类型的对象的函数或方法。
Nothing
可选。
中断 objectvar 与任何特定对象的关联。 将 Nothing 分配给 objectvar 将释放与之前引用的对象关联的所有系统和内存资源,当任何其他变量都未引用该对象时。
上述过程中是一个新的实例加载,哦,就像是一个影子的虚幻,这也是类的本质。
5 代码的运行结果
1)点击列表框项目的拖动按钮:
2)列表框的加载:
3)Item1的拖动:
3)将item1 在列表框2中拖动:
结论: 在这个应用中,给大家详细讲解了如何实现列表框中项目的拖动。在本专题的开篇我讲过,实现项目的拖动在VBA中是比较困难的事情,一是要确定哪些项目被选择,一是要确定拖动到哪里。在本专题中我借助于类来实现这个目的。这个专题也是类应用的一个典型的应用,希望大家借助于虚无的类完成事件的应用处理。
当然,这个专题的代码还有些不完善,需要大家一起努力,完善自己的应用。
今日内容回向:
1 列表框应用中要实现项目的拖动的思路是什么?
2 本文中类模块的主要作用是什么?
3 本文中类的实例化是在哪里完成的?
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: