vba


引言

说来也巧,年初作为讲师给本科生讲了一些关于Excel的课程,包括Excel基本操作以及图表数据透视表的使用,当然还有Excel函数的使用方法。这学期Excel进阶课,一时竟不知该讲些什么内容,后来在油管上找到了一些关于Excel的非常值得学习的课程,于是就拿过来直接照虎画猫了。

课程内容

关于Excel还是有着很多的可以学习的内容,包括Power Query、宏以及VBA编程。

Power Query

Power Query可以实现对数据的合并分割,类似于数据库操作。使用Power Query主要有三个步骤:数据获取、数据转换和数据加载。

首先是数据获取。数据获取允许Excel获取不同来源的数据内容,例如文件、数据库以及其他源(包括网站、OData以及ODBC)。其次是数据转换,数据转换可以做的不仅仅是清理数据,也可以添加或删除列、筛选、添加自定义计算等操作。 最后则是数据加载,也就是将处理后的数据加载导出到Excel工作表中。

利用Power Query可以实现Excel工作表的合并以及Excel文件的合并,对于使用Office工作的用户是一个非常实用的功能。

宏是Excel中另一非常强大的工具,使用宏可以大大的提升处理Excel数据的效率,尤其是对于大量重复进行的操作。

利用宏可以录制用户对于Excel文档的操作过程,有些类似拍视频记录我们的工作,当然在后台是通过自动生成VBA代码来记录用户对于文档的一系列操作,录制完成后可以将录制的一系列操作绑定到插入的元素或开发工具中的控件中。然后通过点击事件的方式取代用户之前的一系列操作。

当然宏操作也不是万能的,对于一些复杂的操作,虽然能实现录制的操作,但往往使用起来无法得到用户所想到得到的效果,因此需要借助于VBA编程来实现。

VBA

VBA是Visual Basic for Application的缩写。VBA是在Office软件与VB的结合,是用于执行自动化任务的编程语言,VBA适合处理复杂、重复性的操作。VBA属于VB中的一种。VBA能够执行自动执行任务,将大量的重复过程用编程语言来描述,用户可以通过控件一键完成操作,从而大大地简化工作。

类似于宏,VBA也是通过代码来实现用户的操作的自动化,但是需要用户对于Excel中的一些对象和属性有一定的理解。例如WorkSheets对象对应Excel的工作表、WorkBooks对象对应Excel文档。当然还有很多的对象,每个对象有着自身的属性和方法,通过代码调用方法以及属性的修改可以实现对于Excel文档的处理。

至于编程,和其他的语言类似,其Sub过程和Function对应于其他编程语言中的函数,可以实现互相调用以及自身调用(递归),当然条件判断和循环条件也是同样。

此外,VBA也支持窗体与控件的编程,虽然只支持原生的控件,但也能实现一定的功能。

Moments

写在最后

直到今天也上了有8节课了,虽然过程没有想象的那么顺利。当然自己学习和教别人对于课程的理解还是有一些不同的,通过一系列的课程,我从中也收获了不少,能够在学习中帮助到别人还是很有成就感的。虽然最近有点忙,但是看到大家的对于课程的反馈还是挺高兴的。以后这样的机会会越来越多,希望能越来越顺利。

Pretty


  目录