1. 什么是VBA?
Excel里的VBA(Visual Basic for Applications)是Visual Basic的一种宏语言。VBA是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。
2. Excel与VBA的关系
EXCEL有表格、公式、函数等基本资源和很多功能,对于很多普通用户来说,掌握和使用这些功能就能解决问题。而利用VBA代码则可以由电脑代替人员进行相应的操作,且VBA代码运行的效率要远远大于人的手工操作,同时可以简化人员的操作,而且可以避免认为操作的失误。当经常用到一些重复的操作过程时,编写VBA可以实现非常高的工作效率。
VBA是VB家族的重要分支,主要使用于Office办公软件,尤其与Excel结合大显其身手。简单地说VBA就是Excel中的编程,可以处理内部数据,也可以操作外部对象。打个比喻,Excel是名门贵族家的富家公子,受过良好的教育与锻炼,不但身手不凡,而且拥有众多的家族资源。而VBA则是一个有些来历的旷世奇才,他带着一身本领来到了Office门下,尤其与Excel交谊甚好。于是Excel拜VBA为CEO,把一些复杂的、经常性的重要事务交由其处理,资源也任其调用,而VBA果然不负其望,把事情处理得既快也漂亮。
掌握了VBA,可以发挥以下作用:
- 规范用户的操作,控制用户的操作行为;
- 操作界面人性化,方便用户的操作;
- 多个步骤的手工操作通过执行VBA代码可以迅速的实现;
- 实现一些VB无法实现的功能。
- 用VBA制做EXCEL登录系统。
- 利用VBA可以Excel内轻松开发出功能强大的自动化程序。
3. 录制宏与编写VBA
后记:与python相比,excel的vba有什么局限性?
excel的vba很强大。学的深的话基本可以解决大部分数据处理问题!但是excel仍然有局限性:
- python连接数据库并执行数据库查询比excel vba要方便的多!
- excel最多只能处理1048576行,但数据库内表格行数常常会超过excel处理极限,但是python没有这个限制!
- python使用pandas对特殊的文本数据进行定制化的解析。python对复杂逻辑的处理和对正则表达式的支持要强过vba。当然并不是vba不能实现,就是比较麻烦!
- office正版要钱,python正版不要钱