Te recomendamos que revises esta resolución en un entorno controlado antes de enviarlo a producción, saludos.
Solución:
Estoy seguro de que puede arreglar esto, pero funcionará con el conjunto de datos que ha proporcionado.
Antes de comenzar, deberá definir dos Nombres (Insertar / Nombre / Definir). “Datos” es el rango de su conjunto de datos, “Destino” es el lugar donde desea que vaya el árbol.
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
Sección de Reseñas y Valoraciones
Más adelante puedes encontrar las reseñas de otros gestores de proyectos, tú asimismo puedes insertar el tuyo si te gusta.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)