员工管理 删除
1 功能描述
输入员工编号,点击[删除员工]按钮。
运行结果
[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:****”。