List of all leaves a node has access to in a tree

thedevil

New Member
Joined
Jul 22, 2008
Messages
11
Hello,

We've a table generated from a legacy application that generates a list of parent-child relationship like a tree or an employee hierarchy listing.

[TABLE="class: grid, width: 500, align: center"]
<tbody>[TR]
[TD]Label[/TD]
[TD]ID[/TD]
[TD]ParentID[/TD]
[/TR]
[TR]
[TD]A[/TD]
[TD]1[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]B[/TD]
[TD]2[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]C[/TD]
[TD]3[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]D[/TD]
[TD]4[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD]E[/TD]
[TD]5[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD]F[/TD]
[TD]6[/TD]
[TD]3[/TD]
[/TR]
[TR]
[TD]G[/TD]
[TD]7[/TD]
[TD]4[/TD]
[/TR]
</tbody>[/TABLE]

We want to find all the paths to every leaf a node has access to. So the output of the above table should look like:
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD]G[/TD]
[/TR]
[TR]
[TD]D ->G[/TD]
[/TR]
[TR]
[TD]B -> D -> G[/TD]
[/TR]
[TR]
[TD] B -> E[/TD]
[/TR]
[TR]
[TD]E[/TD]
[/TR]
[TR]
[TD]F[/TD]
[/TR]
[TR]
[TD]C -> F[/TD]
[/TR]
[TR]
[TD]A -> C -> F[/TD]
[/TR]
[TR]
[TD]A -> B -> D -> G[/TD]
[/TR]
[TR]
[TD]A -> B -> E[/TD]
[/TR]
</tbody>[/TABLE]

The rows run into thousands and unknown levels and hence looking for something recursive as well a something that can handle the load (probably MS Access but that doesnt support recursive commands) Further complexity is that the system output can have multiple trees within it, with possible overlap i.e. there can be multiple top nodes.

Is this something that can be addressed via VBA?
 

Excel Facts

Will the fill handle fill 1, 2, 3?
Yes! Type 1 in a cell. Hold down Ctrl while you drag the fill handle.

Forum statistics

Threads
1,224,823
Messages
6,181,178
Members
453,021
Latest member
Justyna P

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top