Я пытаюсь преобразовать данные excel в данные дерева с помощью vba.Построение типа иерархического представления данных в Excel
Sub MakeTree()
Dim r As Integer
' Iterate through the range, looking for the Root
For r = 1 To Range("Data").Rows.Count
If Range("Data").Cells(r, 1) = "Root" Then
DrawNode Range("Data").Cells(r, 2), 0, 0
End If
Next
End Sub
Sub DrawNode(ByRef header As String, ByRef row As Integer, ByRef depth As Integer)
'The DrawNode routine draws the current node, and all child nodes.
' First we draw the header text:
Cells(Range("Destination").row + row, Range("Destination").Column + depth) = header
Dim r As Integer
'Then loop through, looking for instances of that text
For r = 1 To Range("Data").Rows.Count
If Range("Data").Cells(r, 1) = header Then
'Bang! We've found one! Then call itself to see if there are any child nodes
row = row + 1
DrawNode Range("Data").Cells(r, 2), row, depth + 1
End If
Next
End Sub
My Excel данные, как это,
Я стараюсь, чтобы преобразовать данные дерева, как это, используя мой код VBA.
Но выше код не работает для меня.
Кто-нибудь предлагает мне?
Благодаря
Я предлагаю вам начать кодирование и затем возвращаются с вопрос, когда у вас есть конкретная проблема. Это не фабрика кода. Кстати, дерево, которое вы пытаетесь сделать, отличается от того, что было в связанном вопросе, поэтому тот же самый метод не будет работать. – OpiesDad
Я решил это, когда вы изначально разместили вопрос, но не опубликовал мой ответ, потому что вы не разместили свой код. Теперь вы отправляете ответ Кристиана Пейна на [Построить дерево как представление данных в Excel?] (Http://stackoverflow.com/questions/1074004/build-a-tree-like-representation-of-data-in-excel) как будто это твоя собственная !!! –
Заинтересованы в решении, которое не использует PivotTable? – EEM