0

我有一个场景,员工数据在 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 supprvisor2_emailid
abc abc@xyz.com pqr pqr@xyz.com lmn lmn@xyz.com

等等主管的详细信息…………

直到每个员工的最后一个主管详细信息。

我不知道 excel 中的 vba 或宏。
我可以通过在 excel 中使用 vlookup 函数来做到这一点,但是它花费了太多时间,所以我想以编程方式通过快速和快速的方式来做到这一点。

4

1 回答 1

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
于 2013-09-05T17:56:47.127 回答