我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
信息增删改查系统-VBA实现效果
本期,小编将通过一个很全面的实例-信息增删改查系统,来带大家熟悉VBA编程。相信,只要你掌握了这个实例,基本上就掌握了70%的VBA知识,剩下的就只是查查资料的事情,从此不再害怕VBA编程。
为了让大家清楚该实例的功能,先看一下操作的动态演示吧:
信息增删改查系统,功能操作演示
OK,看完了动态演示,相信大家想知道如何通过VBA代码的方式实现的吧,其实套路很简单。
1. 准备工作 - 界面创建
界面搭建
插入工号文本框,命名为EmplNo,请记住这个控件名称,因为VBA代码中会通过控件名称获取该文本框输入之
插入查询,保存,删除 按钮,并且指定各自按钮的单击事件。单击事件,指的是当某个按钮在点击的时候,需要系统自动执行的代码。例如,我们指定了各自按钮单击时,执行的事件分别为:查询_Click(), 保存_Click(),删除_Click()。
关于表格,自己可以画,就略过了。
接下来,就是介绍一下,如何在查询_Click(), 保存_Click(),删除_Click()三个事件方法中,添砖加瓦。
2. 代码具体实现
VBA-查询
查询_Click():
获取员工号文本框[EmplNo]的值,然后去[员工考核信息表2]Sheet中的第一列查找EmplNo的值。查到的话,将所处行号赋予全局变量[destCurRow],并调用[findi]方法;找不到的话,提示信息:"not found!"。
findi():
从[员工考核信息表2]Sheet中,获取行号为全局变量[destCurRow],列号为1,2,3,4的单元格的值,分别赋予[员工考核信息新增修改查询删除2]Sheet中的A6, B6, C6, D6单元格。
VBA-保存
保存_Click():
在[员工考核信息新增修改查询删除2]Sheet中,从第六行开始循环读取。
在循环体内,将读取的行号赋给变量[sourceCurRow],直到单元格(sourceCurRow, 1)为空白单元格的时候,即表格内员工为空的时候退出循环。
在循环体内,根据员工去[员工考核信息表2]Sheet中的第一列查找。找不到的话,在[员工考核信息表2]Sheet最后一行下面新增一条数据;找的到的话,更新[员工考核信息表2]Sheet中对应的数据。
VBA-删除
先询问用户是否确认删除,如果确认的话,就删除;如果拒绝的话,就不删除。
3. 代码调试
通过代码调试,有助于帮助你清楚的知道每一行代码的作用,请看下面的代码调试的演示:
VBA-代码调试
4. 代码如何写,如何查资料:
很多人会问,这些代码都是怎么查到的,要我写的话,我根本就不会啊。这里有几种方法查VBA的资料:百度,Excel VBA官方帮助,通过录制宏探析代码。这里主要介绍一下第二种方式,如下图:
VBA帮助
Alt+F11打开VBA代码编辑器后,点帮助进来后,可以搜索关键字搜索想要查询的方法含义。
通过多接触实例,自己可以将实例中用到的代码片段,根据功能实现点,按照关键字总结归纳在云笔记中,供以后参阅。例如本例中,有几个功能点:单元格读取,插入,单元格查询,循环
相关文章
我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08