2013-08-21 57 views
0

我有一個場景,其中員工數據是在他的主管詳細信息(姓名和電子郵件ID)的Excel表格中給出的。和上司是自己員工,所以他將他的上司的詳細信息(姓名和電子郵件ID)等等...在excel表格中爲員工選擇嵌套監督員詳細信息

以表格的形式 -

emp_name email_id supervisor1_name supervisor1_emailid 
abc  [email protected] pqr   [email protected] 
-------------------------------------- 
-------------------------------------- 
pqr  [email protected] lmn   [email protected]

我要顯示在上述數據Excel工作表本身如下,

emp_name email_id supervisor1_name supervisor1_emailid supervisor2_name suprvisor2_emailid 
abc  [email protected] pqr   [email protected]   lmn   [email protected]

等主管細節........

,直到最後主管細節爲每一位員工。

我不知道在Excel中的VBA或宏。
我可以通過在Excel中使用vlookup函數來做到這一點,但它需要太多的時間,所以我想通過編程方式以更快更快的方式來完成。

回答

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 
相關問題