1、基于ExcelVBA的部门管理系统82020年4月19日文档仅供参考基于Excel VBA的部门管理系统一、实验目的:经过本项目实践,掌握数据制作的添加、删除、更新和查询基本方法的应用。二、实验意义:以Excel作为数据库,制作一个部门管理模块,经过界面操作,进行方便地部门管理。对以后的相关数据管理应用具有一定的参考性和实用性。三、模块开发技术、列表框ListIndex(索引)方法及属性 ColumnCount(列数),RowSource(数据源)的运用、数据精确查询应用;、ActiveWorkbook.Save(工作表保存方法)的应用;、Rows.Delete(删除记录方法)应用;、窗体加载
2、事件的应用。四、实验步骤:请先完成程序填空、打开DepartmentInfo.xls文件,进入VBE环境,并插入一个用户窗体。界面设计如图所示:图部门管理系统界面设计该界面包括两个框架控件,一个外列表框控件,三个标签控件,三个文字框控件和五个命令按钮控件。框架控件、标签控件和命令按钮控件经过其Caption属性更改文字,其中五个命令按钮还要将其属性中的“名称”属性的文字改成与“Caption”文字相同,这样在编写代码时就不会乱了。、编写窗体加载事件。双击窗体(注意:不能对准窗体中的某个控件双击),即窗体中除控件以外的空白地方。进入代码编写,首先在定义两个全局变量:Dim cs As LongD
3、im rs As Long然后在通用栏下拉框中选择UserForm,在右边栏下拉框中选择Initialize,则自动生成:Private Sub UserForm_Initialize()End Sub在Sub与End Sub之间输入如下代码:Worksheets(Sheet1).Selectcs = Worksheets(Sheet1).Range(a1).End(xlToRight).Columnrs = Worksheets(Sheet1).Range(A65536).End(xlUp).RowListBox1.ColumnCount = csListBox1.RowSource = W
4、orksheets(Sheet1).Range(A2: & Chr$(64 + cs) & rs & ).AddressWorksheets(Sheet1).Selectcs = Worksheets(Sheet1).Range(a1).End(xlToRight).Columnr = Worksheets(Sheet1).Range(A65536).End(xlUp).RowListBox1.ColumnCount = csListBox1.RowSource = Worksheets(Sheet1).Range(A2: & Chr$(64 + cs) & rs & ).Address、双击
5、“查询”按钮,在在Sub和End Sub之间输入如下代码:If TextBox1.Text = Then MsgBox 请输入需要查询部门的编号 Exit Sub End IfWith Worksheets(Sheet1) rs = Worksheets(Sheet1).Range(A65536).End(xlUp).Row For i = 2 To rs If .Cells(i, 3) = TextBox1.Text Then TextBox1.Text = .Cells(i, 3) TextBox2.Text =.Cells(i, 1) TextBox3.Text = .Cells(i,
6、2) Exit For End If NextEnd With、双击“添加”按钮,在Sub和End Sub之间输入如下代码:Dim ncs As Longncs = Worksheets(Sheet1).Range(A65536).End(xlUp).Row + 1 增加新一行With Worksheets(Sheet1) .Cells(ncs, 3) = TextBox1.Text .Cells(ncs, 1) = TextBox2.Text .Cells(ncs, 2) = TextBox3.TextEnd WithActiveWorkbook.Save 保存数据Call UserForm
7、_Initialize 调用窗体加载事件,重新加载数据,以显示新添加的数据。TextBox1.Text = 清空文字框中的文本TextBox2.Text = TextBox3.Text = 、双击“删除”按钮,在Sub和End Sub之间输入如下代码:cs = ListBox1.ListIndex + 1 获取鼠标点击列表框的记录If cs = 0 Then MsgBox 请选择一条数据 Exit SubEnd IfRows(cs + 1).Delete 删除当前选定的记录、双击“更新”按钮,写出退出窗口代码。If TextBox1.Text =” and TextBox2.Text = An
8、d TextBox3.Text = Then MsgBox 请先进行相应的数据查询End If Cells(cs, 3) = TextBox1.TextCells(cs, 1)= TextBox2.Text Cells(cs, 2) = TextBox3.TextActiveWorkbook.Save 保存更新数据UserForm_Initialize 调用窗体加载事件以显示更新后的数据、双击“退出”按钮,添加窗体退出代码(略)Unload Me、运行上节课的添加菜单知识,为该窗口做一个菜单放在Excel菜单栏中。在工程窗口中双击“ThisWorkbook”打开代码编辑窗口,建立两个过程,代码如下。Sub showDepartionInfo()UserForm1.ShowEnd SubPrivate Sub Workbook_Open()MenuBars(xlWorksheet).Menus.Add(信息管理(&S).MenuItems.Add(部门信息管理(&G).).OnAction = ThisWorkbook.showDepartionInfoEnd Sub、系统调试