我有一个场景,员工数据在excel表中以他的主管详细信息(姓名和电子邮件ID)给出。主管本身就是一名员工,所以他会有他的主管详情(姓名和电子邮件ID)等等......
以表格格式 -
emp_name email_id supervisor1_name supervisor1_emailid abc abc@xyz.com pqr pqr@xyz.com -------------------------------------- -------------------------------------- pqr pqr@xyz.com lmn lmn@xyz.com
我想在Excel工作表中显示以上数据,如下所示,
emp_name email_id supervisor1_name supervisor1_emailid supervisor2_name suprvisor2_emailid abc abc@xyz.com pqr pqr@xyz.com lmn lmn@xyz.com
等主管的详细信息........
直到每个员工的最后一位主管详细信息。
我不知道excel中的vba或宏。
我可以通过在excel中使用vlookup函数来实现它,但它花费了太多时间,所以我想通过编程方式快速,快速地完成它。
答案 0 :(得分:0)
也许这会帮助你开始。
Dim FirstRow As Integer
Dim EndRow As Integer
FirstRow = 2
EndRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 2).End(xlUp).row
Dim supName As String
Dim secRow As Long
For row = FirstRow To EndRow
supName = Range("C" & row)
If supName <> "" Then
Do Until supName = ""
For secRow = FirstRow To EndRow
If Range("A" & secRow) = supName Then
Cells(row, Cells(row, Sheets(1).Columns.Count).End(-4159).Column + 1) = Range("C" & secRow)
Cells(row, Cells(row, Sheets(1).Columns.Count).End(-4159).Column + 1) = Range("D" & secRow)
supName = Range("C" & secRow)
Exit For
End If
Next secRow
Loop
End If
Next row