程序员的知识教程库

网站首页 > 教程分享 正文

01.ExcelVBA-基础进阶课程介绍(excelvba教程完全版)

henian88 2025-03-23 19:47:07 教程分享 18 ℃ 0 评论

虎科网今天来学习xrvba基础教程。今天第一节课先对基础教程的课程进行一下简单的介绍,来看一看。

我希望同学们在学基础教程之前先去学习vb入门教程,也是由我录的。在vba入门教程部分里面讲了些什么东西?首先讲过了vba里面的一些基本的概念,比如对象属性、方法、变量以及数据类型等等这些基本概念。

还学过了vba里面常用的几种语句结构,比如判断语句if语句以及当条件比较多的时候学过了selectcase语句,含有基本的循环语句fornext。当在一个数组或者是一个数据集合,或者是一些集合里面去循环的时候,或者是一些单元格的集合里面去循环的时候学过了foreachnext这种语句。

还有bluelope语句也是一种循环语句,也学过了简化代码的时候可以用withandwith这种语句。在此基础之上还学习了利用vba代码进行对单元格以及工作表、工作部进行操控,包括学习了如何去一个文件夹的底下去便利这些文件名。

便利出来以后打开了一个工作部,打开了以后对工作部进行一些基本的操作,比如把它保存为到哪里,可以批量的打开了以后到这工作部里面去循环工作表,循环出来以后到具体的某个表里面去取数据,取完以后进行一些汇总以及这些合并这些操作都可以做到了。

这是vba入门教程里面讲的一些东西,当然之所以叫入门教程就是其实vba这个东西很深,只是刚刚开始学习了一点点基本的内容而已。下面来看几个案例。

·比如第一个案例打开来,比如这里有七个工作部,每个工作部里面都有一些数据,打开来看一看,比如都有一些基本的数据,就是有这么几列数据,大家看一下这姓名里面a零零幺到a零零十一都有,这是我随便举的一些例子,大家只要看效果就可以了。

而且这里面重复的大家看到了吧,每个都是重,有很多重复的,希望一到七月份里面每个月份都有这些数据,希望现在要把每个月里面的a零零幺和a零零八这两个的人的数据给它提取出来,提取到工作表里面来。

比如现在就是一月份的a零零幺、a零零八,a零零幺、a零零八只要是还有a零零幺、a零零八的记录全部提取出来就 ok 了。大家可以看一下,这里有一月份的、二月份的全部提取出来了。

以在入门教程里面学习的知识其实也可以做到这个,先把这里删掉,只要在这个文件夹底下去把文件名给便利出来,然后每个工作部都打开,打开以后只要进行判断,然后把每个月里面的a零零幺、a零零八这些记录只要符合这个名字是二零零幺、二零零八的就复制到这边来。

因为在入门教程里面学的知识是可以这样解决的,就是去每个表里面去名称里面去循环,循环出来以后要判断这些姓名是否等于a零零幺、是否等于a零零八,如果等于就复制到这边来,就这么一个思路。

这里有个汇总二,汇总二的代码基本就是按照刚刚讲的那种思路来做的,来看一看效果。点一下,主要是观察时间,看需要多长时间,一直在闪,合并完了,共合并了七个工作部,这里也正好有七个工作部,这说明是没问题的。

这个是用刚刚说的去单元格里面去循环做的这种效果。现在再来看一下,当用数组的方法做的时候,观察时间,共合并了七个工作部是不明显比时间所用的时间就是用汇总一这种方式所用的时间是不明显比用汇总二这种方式用的时间短,这就是一个区别,也就意味着在单元格里面进行循环和在数组里面进行循环时间完全不一样。

所以这就是为什么还要进行深入的再学习一点vba的知识,这样有利于更加快速的提高工作效率。这就是为什么还想学习一下vba里面数组非常重要的一个东西。

这是第一个案例,再来看一下第二个案例,比如使用过wps的同学都知道在wps里面有一个效果是叫聚光灯效果,就是这里有个开关,一点聚光灯以后,只要鼠标选中哪个数据以后,十字的颜色就会跟随鼠标的动作,就会知道这个地方就是行跟列交叉的地方就会突出显示出来,这样就好观察数据。

大家都知道在excel里面是没有这个功能的,所以很多人希望也有这个功能。怎么实现?如果要学过事件就是vba里面事件,工作表的select、selection、change事件功能就非常容易实现了。鼠标走到哪里就选到显示到哪里,而且这是单个指定一个数据,聚光灯就跟到哪里了。

当选中一个区域的时候又没有了,这就是方便之处,选另每一个单元格之后就跟到哪里了,这就是事件的效果。再来看一下,现在是这里有姓名加班时间,这里姓名有重复的,希望统计每个姓名总的加班时间怎么统计?点一下,不仅把姓名里面重复的给去掉了,把姓名里面的事件也加起来了,总的事情就出来了。

这个是通过vba里面字典来实现的,就去了重复,而且把它后面加起来。再来看一看这个,比如这里有一个这种记录,这些记录里面其实是一个相当于目录一样的,但是当时写的时候没有写的不规范,比如这里是一,这里又是零零二,这里有有的是顿号,有的是冒号,有的又是三位数字的序号,有的又是一位,有的两位的都有。让大家看一下,有的顿号,有的冒号,有的还什么都没有。大家看一下中间零幺幺后面什么都不跟,可能是跟空格,也有可能。来看一下是不是空格,就跟了一个空格。

对于这种情况,想把后面的文字部分,就是目录部分提出来,前面的序号不要了。怎么做?以在入门部分学过的还解决不了这个问题,所以这里需要学习一下正则,ok,就出来了,是不是非常方便?

还有再来看一下这种,比如做工程的同学都知道,经常会有规范的书写方式就是这样写的,就这样写的。要希望在另外一个列里面能把结果求出来,比如这是长乘以宽,希望得到结果,这个又是减,减去什么什么,这里又有很多一堆复杂的加减证书,可能都包括,这里只包括加减,不管是什么样,反正就是加减成都包括也可以。

希望得到结果,怎么得到?这个很麻烦,如果自己做,可能会手工做,可能要把中间这些东西删掉,等于号才能求出结果,很麻烦的。比如当学过了自定义函数以后,要自定义一个工程量,工程量拼音的函数就ok了。就这样在这里面输入等于工程量,ok,也就会像平常的内置函数要弹出来个提词框,是自定义的函数,自定义的内置函数里面不包括的。

选定这个以后敲回车,就出来结果了,跟自定义,跟内置函数是一样的用法,就这么用就可以了。这就是通过自定义函数来实现的功能。

还有这个案例,比如这里存在着一堆员工的资料,序号姓名,这个就随便举了个例子,然后他们的照片,每个员工的照片都发在文件夹里面,希望通过照片跟资料做一些员工卡片出来,就是员工卡出来。怎么做?只要点击生成员工卡,这样的卡片就出来了,非常的方便。

当然要学习的vba里面用vba代码来控制这些图形图表,图形就ok,就能实现效果了。

再来看最后一个案例是什么案例?比如这里有个员工录入系统的演示,比如现在说一个姓名,试一下,不能信,大家看,可能是分辨率的问题,因为电脑调过分辨率,所以这里出不来,这个案例就先不演示了。

这个案例就是什么意思?在这些里面输入姓名,把这些信息填圈以后点保存,这里就立马增加一条记录,就这么个案例。主要是利用vb的空键来实现的,这里包括一些文本框、组合框、单选框、复选框,就这些空键,要学会用vba怎么操控这些空键才可以实现这个效果。

通过刚刚这些案例的演示大家也发现了,在入门部分学的vba只能是刚刚进了门,知道了一些关于vba的一些大概的一些东西了,但其实还有很多东西没学,比如刚刚演示过了数组,没学什么工作部、工作表的事件,也没学字典部分、正则部分以及自定义函数,还有类模块以及用vba操控图形图表。

最后到了窗体空间,最后能达到了功能区的开发,相当于可以自定义功能区,把这里可以增加一个主,主下面可以增加自己的比如内置的功能,点一下以后这里就会出来这些命令选项,可以自己定义一个自己的命令选项来实现某些功能,比如隔行添色,隔行添色,隔一行就添一个颜色,这里面是没有的,但可以自定一个功能以后就会实现隔行添色。

最终学完了所有的知识以后达到一个什么水平?能够制定模板以及开发一些系统。这就是在vba基础教程里面所要讲的一些东西,这个教程基本上vba的一些方面基本上都介绍到了,但是不是每个知识点都会有,只能是每一个部分里面也相当于领大家入门,入了门以后很多东西还要自己去研究,自己就会不断的去实践,但最基本的会讲到。

这就是关于vba基础教程的简单介绍,希望大家能够既然来到这里了,既然看到这个课程了,就能耐下心来坚持把这个课程学完,工作效率就会提高很多。这节课就到此结束了,下节课再见。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表