Excel 与 VBA

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,可以发挥以下作用:

  1. 规范用户的操作,控制用户的操作行为;
  2. 操作界面人性化,方便用户的操作;
  3. 多个步骤的手工操作通过执行VBA代码可以迅速的实现;
  4. 实现一些VB无法实现的功能。
  5. 用VBA制做EXCEL登录系统。
  6. 利用VBA可以Excel内轻松开发出功能强大的自动化程序。

3. 录制宏与编写VBA

Excel 与 VBA
Excel 与 VBA

后记:与python相比,excel的vba有什么局限性?
excel的vba很强大。学的深的话基本可以解决大部分数据处理问题!但是excel仍然有局限性:

  1. python连接数据库并执行数据库查询比excel vba要方便的多!
  2. excel最多只能处理1048576行,但数据库内表格行数常常会超过excel处理极限,但是python没有这个限制!
  3. python使用pandas对特殊的文本数据进行定制化的解析。python对复杂逻辑的处理和对正则表达式的支持要强过vba。当然并不是vba不能实现,就是比较麻烦!
  4. office正版要钱,python正版不要钱