员工管理 新增

1 功能描述

img

输入要添加的员工的各项数据,包括:编号、姓名、性别等,然后点击[添加员工]按钮进行保存,数据会保存到[A01员工]工作表中,并进行相应提示。


结果[A01员工]数据如下。

img


2 主要步骤

步骤1:校验,判断ID是否存在

步骤2:计算新行的位置

步骤3:保存数据


3 完整代码


Sub insert()
    '声明变量
    Dim rowIndexLast As Integer     '表中最后一条记录的行号
    Dim rowIndexNew As Integer      '表中要添加记录的新行的行号
    

    '获取要查找的ID
    id = Worksheets("B01员工管理").Range("B6").Value


    '步骤1:校验,判断ID是否存在
    '通过当前区域获取新行的行号
    rowIndexLast = Worksheets("A01员工").Range("A1").CurrentRegion.Rows.Count
    Debug.Print "rowIndexLast:" & rowIndexLast
    
    '如果存储表无数据,则无需校验
    If rowIndexLast <> 1 Then
    
        '查找单元格
        Set idCell = Worksheets("A01员工").Range("A2:A" & rowIndexLast).Find(id, lookat:=xlWhole)
        
        If Not idCell Is Nothing Then
            MsgBox "id已存在,无法保存。id:" & id, Title:="小步教程www.xiaobuteach.com"
            Exit Sub
        End If
    End If
    
    '步骤2:计算新行的位置
    rowIndexNew = rowIndexLast + 1
    
    '步骤3:保存数据
    '复制数据
    Worksheets("A01员工").Range("A" & rowIndexNew & ":F" & rowIndexNew).Value = Worksheets("B01员工管理").Range("B6:G6").Value
    
    MsgBox "新增成功。", Title:="小步教程www.xiaobuteach.com"

End Sub

4 代码讲解


5 测试用例

正常用例:当数据存储表[A01员工]中的ID不存在重复时,新增成功。

异常用例:ID重复时,“id已存在,无法保存。id:****”。