掌握如何录制宏,并成功运行并能重复使用之后,为进一步深入vb平台及vba语言,即将开展对excel的工程、模块、过程及函数的学习与研究。
VBA工程是一套Excel对象,模块,窗体和引用。包括下列内容:
1、工作表;2、图表;3、当前工作簿(工程存储的工作簿);4、模块;
5、类模块(特殊的模块让你可以创建自定义对象);6、窗体;7、引用到其他工程。
工程浏览器 (Alt+F11再双击开启) ,如下:
工程命名: 选择一个VBAProject >双击 >修改属性窗口的 名称 属性 >输入“新名称”,回车
Excel宏录制创建的一系列指令是和实际进行的 *** 作完全等同的。
录制的一系列指令被放在工作簿里的“ 模块 ”文件夹中。
思考:什么情况下会出现不同模块,以及模块之间的联系是什么?
答:一个工程可以有很多个模块,不仅可以创建模块,还可以创建窗体及类模块。两个不同模块两个子程序的宏显示,如图:
所有录制的指令都包括在“过程”里,过程的每一行都是一个“指令”。
指令分为关键词、运算符,或其他过程的调用命令。
VBA有以下三个过程:
1、 子程序过程(子过程)执行任务但不返回任何值,以关键字Sub开头和End Sub结束。
2、 函数过程执行具体任务并返回值,以关键字Function 开头和End Function结束。
3、 属性过程使用属性过程可设置和获取对象属性的值,或者设置对另一个对象的引用。
思考:一个模块允许几个子过程,一个过程是否代表一个批量 *** 作?
答:一个模块可以有若干个子过程,一个子过程为一个批量 *** 作。如图,显然无论是一个模块或是不同模块,只要有两个 子过程 就会显示两个 可执行的宏名 。
VBA提供若干种内置函数(点击F2查看),尽量使用内置函数,也可以创建自定义函数,关键字Function开头和End Function结束。可对某个对象执行一系列。
学习成果在于检验,去试验吧~
1.新建开发工具中按钮
4.点击显示结果
以后将逐步运用到工作中,点击按钮后运行一系列 *** 作~奥里给!
Python中的模块也称为库,在Python中 *** 作Excel的模块有很多。
优缺点如下:
**1、Pandas模块**
Pandas是Python的一一个开源数据分析模块,可用于数据挖掘和数据分析,同时也提供数据清洗功能,可以说它是日前Python数据分析的必备工具之一。Pandas能够处理类似电子表格的数据,用于数据快速加载、 *** 作、对齐、合并、数据预处理等。
Pandas通过对Excel文件的读写实现数据输入、输出,Pandas支持.xls和.xlsx格式文件的读写,支持只加载每个表的单一工作页。
import pandas as pd
df=pd.read_excel(r'E:ban.xlsx') #pandas 导入库获取excel表的数据内容
df`
**2、xlwings模块**
xlwings模块可以实现Python中调用Excel,也可以从Excel调用Python,这个模块支持支持.xls和.xlsx格式文件的读写,支持对这类文件的 *** 作,还支持使用VBA,具有强大的转换功能,并且可以处理大部分数据类型。
**3、Xlrd模块**
xlrd模块可以读取Excel文件,其对Excel文件的读取可以实现比较精细的控制。虽然现在使用Pandas模块读取和保存Excel文件往往更加方便快捷,但在某些场景下,依然需要xlrd这种更底层的模块来实现对Excel文件读取的控制。
xlrd模块支持.xls、.xlsx格式文件的读取,但不支持写信息。
**4、xlwt模块**
前面xlrd模块可以读取Excel文件,但不能写。而xlwt模块可以写、可以修改Excel文件,但不能读,且只支持.xls格式文件的写 *** 作。
**5、xlutils模块**
xlutils也是一个处理Excel文件的模块,但它不能对Excel文件进行读和写的 *** 作,但依赖于xlrd模块和xlwt模块。xlutils模块支持.xls格式文件,不支持.xlsx格式文件。
**6、openpyxl模块**
openpyxl模块可以对.xlsx格式的Excel文件进行读写 *** 作,特点是读取快、写入慢,且不能 *** 作.xls格式文件。
**7、xlsxwriter模块**
xlsxwriter模块支持多种Excel功能,可以写.xlsx格式的Excel文件,而且速度快、占用内存空间小,但不支持读或者修改现有的Excel文件。
**8、win32com模块**
win32com模块支持.xls、.xlsx格式的Excel文件的读、写和修改,读写速度快。但win32com模块存在于pywin32的模块中,自身没有完善的文档,使用起来不太方便。
**9、分析总结**
Pandas模块把Excel当作数据读写的容器,为其强大的数据分析服务,因此读写性能的表现中规中矩。xlwings和win32com这两个模块都拥有很好的读写性能,强大的转换器可以处理大部分数据类型,同时,可以在程序运行时,在打开的Excel文件中进行实时 *** 作,实现过程的可视化。另外,xlwings模块的数据结构转换器使其可以快速地为Excel文件添加二维数据结构,而不需要在Excel文件中重定位数据的行和列,因此笔者认为,从读写的便捷性来看,xlwings模块比较好用一些。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)