员工管理 删除

1 功能描述

img

输入员工编号,点击[删除员工]按钮。

运行结果

[A01员工]工作表删除YG0011这条记录。


2 主要步骤

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

步骤2:根据ID所在单元格,删除行


3 完整代码

Sub del()
    '声明变量
    Dim id As String            '要修改的ID
    Dim rowIndexLast As Integer '最后一行的行号
    Dim idCell As Range         'ID所在单元格

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

    '步骤1:校验,判断ID是否存在
    '通过当前区域获取新行的行号
    rowIndexLast = Worksheets("A01员工").Range("A1").CurrentRegion.Rows.Count
    Debug.Print "rowIndexLast:" & rowIndexLast

    '查找单元格
    Set idCell = Worksheets("A01员工").Range("A2:A" & rowIndexLast).Find(id, lookat:=xlWhole)

    If idCell Is Nothing Then
        MsgBox "id不存在,无法删除。id:" & id
        Exit Sub
    End If

    '步骤2:删除行
    idCell.EntireRow.delete
    
    MsgBox "删除成功。", Title:="小步教程www.xiaobuteach.com"

End Sub

注:此过程名称避开系统对象Sheet的Delete过程名,否则使用不当会删除当前工作表。


4 代码讲解

idCell.EntireRow:获取单元格的所在行,再调用delete删除行。不要直接删除单元格,删除单元格会存在移位问题,不建议使用。


5 测试用例

正常用例:当数据存储表[A01员工]中的ID存在时,删除成功。

异常用例:ID不存在时,“id不存在,无法删除。id:****”。