当前位置:首页 > 办公 > Excel教程 > 正文内容

怎么用excel vba开发学生管理系统

酷网1周前 (10-09)Excel教程14

经过不断完善,我们的系统已经能够自由地将<员工基本信息表>中输入的信息灵活地导入<员工信息数据库>中。

现在,让我们能够查询<员工信息数据库>中的数据,并将查询结果自动显示到<员工基本信息表(查询)>中。

为此,我们建立一张与<员工基本信息表>完全相同的工作表,将其命名为<员工基本信息表(查询)>。

现在的工作簿有三张表,如下图所示。

命名动态名称

使用公式命名动态名称。单击“公式”功能区选项卡中的“定义名称”,调出“新建名称”对话框,将名称命名为“姓名”,在“引用位置”输入公式:

=OFFSET(员工信息数据库!$C$1,1,0,COUNTA(员工信息数据库!$C:$C)-1,1)

单击“确定”完成名称的定义,如下图所示。

这样,当在<员工信息数据库>表中增加信息时,名称定义的内容会自动扩展。

定义数据有效性

在<员工基本信息表(查询)>的单元格B3(即姓名单元格)定义数据有效性。过程如下图所示。

提取员工信息

下面,我们来编写程序。当在单元格B3中选择某个姓名后,会调取相应的信息自动填充<员工基本信息表(查询)>。

程序代码如下:

Sub FindInfo()

‘声明Worksheet变量

Dim wksInfo As Worksheet

Dim wksBaseInfoCX As Worksheet

‘声明变量,代表工作表中最后一行行号

Dim lLastRow As Long

‘声明单元格对象变量

Dim rng As Range

‘给变量赋值

Set wksInfo = ThisWorkbook.Worksheets(“员工信息数据库”)

Set wksBaseInfoCX =ThisWorkbook.Worksheets(“员工基本信息表 (查询)”)

‘找到<员工信息数据库>表中的最后一行

lLastRow = wksInfo.Range(“C”& Rows.Count).End(xlUp).Row

‘在<员工信息数据库>表中找到与<员工基本信息表(查询)>表中单元格B3(即姓名单元格)内容相同的单元格

Set rng = wksInfo.Range(“C2:C”& lLastRow).Find(What:=wksBaseInfoCX.Range(“B3”),LookAt:=xlWhole)

‘如果找到,则填充<员工基本信息表(查询)>表

With wksBaseInfoCX

‘如果单元格B3中有值,且在<员工信息数据库>中已要找该值

If (.Range(“B3”).Value<> “”) And (Not rng Is Nothing) Then

.Range(“B2”).Value =rng.Offset(0, -2).Value

.Range(“F2”).Value =rng.Offset(0, -1).Value

.Range(“D3”).Value = rng.Offset(0,1).Value

.Range(“F3”).Value =rng.Offset(0, 2).Value

.Range(“B4”).Value =rng.Offset(0, 3).Value

.Range(“D4”).Value =rng.Offset(0, 4).Value

.Range(“F4”).Value =rng.Offset(0, 5).Value

.Range(“B5”).Value =rng.Offset(0, 6).Value

.Range(“F5”).Value =rng.Offset(0, 7).Value

.Range(“B6”).Value =rng.Offset(0, 8).Value

.Range(“D6”).Value =rng.Offset(0, 9).Value

.Range(“F6”).Value =rng.Offset(0, 10).Value

.Range(“B7”).Value =rng.Offset(0, 11).Value

.Range(“F7”).Value =rng.Offset(0, 12).Value

.Range(“B8”).Value =rng.Offset(0, 13).Value

.Range(“D8”).Value =rng.Offset(0, 14).Value

.Range(“F8”).Value =rng.Offset(0, 15).Value

.Range(“B9”).Value =rng.Offset(0, 16).Value

.Range(“D9”).Value =rng.Offset(0, 17).Value

.Range(“F9”).Value =rng.Offset(0, 18).Value

.Range(“B10”).Value =rng.Offset(0, 19).Value

.Range(“B11”).Value =rng.Offset(0, 20).Value

.Range(“B12”).Value =rng.Offset(0, 21).Value

Else

MsgBox “请选择姓名!”

End If

End With

End Sub

在<员工基本信息表(查询)>工作表单元格B3的下拉列表中选择姓名,然后运行上面的程序,将自动查找该姓名的相关信息并填充表格。

注:当我们学习了工作表事件后,可以在事件中调用上面的代码,当单元格B3中的内容改变量,触发相应的事件,并自动运行上述代码,而无需手动运行上面的代码。

扫描二维码推送至手机访问。

版权声明:本文章来源于互联网,由八酷网收集发布,如需转载请注明出处。

本文链接:https://www.i8ku.com/2021/39550.html

分享给朋友:

相关文章

怎么在Excel里求和

需要在Excel里求一些数据的和,但是你又不知道该怎么做。那么你需要看看这篇文章。 步骤 方法 1手动求和 将需要求和的数据放到一列或一行中。 点击这一列或一行的末尾空格。 在空白单元格里输入公式: =SUM(“首单元...

Excel如何扣出透明签名?Excel扣出透明签名方法

Excel如何扣出透明签名?Excel扣出透明签名方法

  在我们平时使用Excel表格办公时,有些人会使用手机拍下自己的签名再进行上传,想以此来用作电子签名。但是手写签名背景都带有背景颜色,只要将背景颜色去掉我们才能使用。下面就给大家分享...

怎么从PDF文件创建一个Excel电子表格?PDF中创建Excel电子表格

怎么从PDF文件创建一个Excel电子表格?PDF中创建Excel电子表格

       在工作时,你可能需要向同事索求一些课题或项目数据。而你的伙伴为了保证数据的完整性、方便传输,就将数据以PDF文件格式发送给你。但是,同事没有意识到的是,你需要对数据进行编辑等操作,而PD...

INDIRECT函数汇总各仓库的合计到销售总表

INDIRECT函数汇总各仓库的合计到销售总表

问题情境 如下样表: 分仓库数据表中,既有销售额明细,又有合计。 要求:只汇总各仓库的合计到“销售合计”表中。 公式实现 在销售合计”表B2单元格输入公式: =MAX(INDIRECT(A2&”!B...

Excel如何同时查看多个工作表

Excel如何同时查看多个工作表

  我们在工作的时候,经常会遇到需要将两个甚至多个工作表进行对照修改编辑的情况。很多小伙伴都是两个多个文档在同一个界面来回切换。这样做不仅非常麻烦,而且切换过程中可能导致记错数据等问题...

excel表格怎么根据续费月数,计算到期日的?

excel表格怎么根据续费月数,计算到期日的?

某服务公司,根据客户续缴费月份数,计算服务到期日。 如下表: 公式实现 在D2单元格输入公式: =DATE(YEAR(B2),MONTH(B2)+C2,DAY(B2)),向下填充,即可得到所有的到期日。 如图: 本题...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。