2015-11-06 59 views
0

需要幫助..我已經花了3天,但沒有結果。我打算在樹視圖中提取數據(工作表1),但無法成功。請求所有專家協助我。樹狀圖在vba用戶表格

我想在樹形視圖中顯示下面的數據(工作表1)。當我點擊目錄時,它應該顯示所有的高級經理,當我選擇特定的經理時,它應該顯示屬於該經理的所有相關監督,並且當我選擇特定的監督時,它顯示所有僱員都屬於該監督。

如果有人幫助我,我會非常感謝。

Director Senior ManagersSupervisorName EmployeeName 
AMP Diwaar Dsameer kap 
AMP Diwaar Dsameer Danke 
AMP Diwaar Vishaws Bhagan 
AMP Rohan Sapla Kumbar 
AMP Rohan Sapla Dhavale 
AMP Abhijit Maoj Khalsa 
AMP Abhijit hiral Rajiwad 
AMP Abhijit hiral Shitol 
AMP Chandekar Atul Gunjal 
AMP Chandekar Atul Gundad 
AMP Chandekar Gsamee Patanwala 
AMP Dhanesss  Ganes Khan 
AMP Dhanesss  Ganes Keshari 
AMP Dhanesss  suhai Darwajka 
AMP Dhanesss  suhai Nirmale 

回答

0

由於Nodes.Add如果我們試圖將它已經存在,我們可以這樣做如下簡單的一個節點拋出一個錯誤。

Private Sub UserForm_Initialize() 

Set rTWData = ThisWorkbook.Worksheets("Sheet1").Range("A2:D16") 

With TreeView1 

    Set oNode = .Nodes.Add(, , "root", "+") 
    oNode.Expanded = True 

    On Error Resume Next 
    For Each oRow In rTWData.Rows 

    .Nodes.Add "root", tvwChild, oRow.Cells(1, 1).Value, oRow.Cells(1, 1).Value 
    .Nodes.Add oRow.Cells(1, 1).Value, tvwChild, oRow.Cells(1, 2).Value, oRow.Cells(1, 2).Value 
    .Nodes.Add oRow.Cells(1, 2).Value, tvwChild, oRow.Cells(1, 3).Value, oRow.Cells(1, 3).Value 
    .Nodes.Add oRow.Cells(1, 3).Value, tvwChild, oRow.Cells(1, 4).Value, oRow.Cells(1, 4).Value 

    Next 
    On Error GoTo 0 

End With 
End Sub 

On Error Resume Next只會超越那些我們試圖添加爲重複的節點。

+0

你是vba的上帝之父.......... –

+0

是否有可能顯示每個選擇的員工數量。 –

+0

你是一樣的用戶http://stackoverflow.com/users/5561292/gaus-shaikh?如果是這樣,爲什麼使用兩個不同的賬戶此外,你的問題還不清楚。計數應顯示在哪裏?作爲出現在treeview節點中的字符串的一部分?如果是這樣,只需將「COUNTIF」的結果連接到該字符串中即可。 –