我在A表中有一个名单,在B表中我有我需要经营公司的职位。 A表中的每个名字都在B中,但不是以相同的顺序,我想要一些帮助,这样如果有人离开公司,我将在名单中删除他的名字A表,我希望在B表中删除相同的名字。我只希望删除姓名而不是他被分配到的职位。
A sheet B Sheet
Name Hire date Name Position
John 10/17/2016 Sam Sales Manager
Paul 10/18/2016 Paul Inventory Manager
Sam 10/16/2016 John Clerk
名称和雇用日期在工作表A中,名称和职位在工作表B中。因此,如果我删除A工作表中的John行,我希望能够删除B表中的John,但保留其中的位置。
答案 0 :(得分:0)
这应该让你知道如何去做 - 但是,正如YannickIngenierie建议的那样,如果名称重复,为每个人提供一个唯一的ID可能会更好:
Sub removeEmployee()
Dim r as Range, s As String, c As Range
s = InputBox("Enter name to remove")
If Len(Trim(s)) = 0 Then Exit Sub
With ThisWorkbook.Worksheets("A") 'search name
Set r = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
Set c = r.Find(s, , xlValues, xlWhole, , , False)
If Not c Is Nothing Then c.EntireRow.Delete 'remove entry
End With
With ThisWorkbook.Worksheets("B")
Set r = .Range("a2", .Cells(.Rows.Count, 1).End(xlUp))
Set c = r.Find(s, , xlValues, xlWhole, , , False)
If Not c Is Nothing Then c.ClearContents 'remove name,retain position
End With
End Sub