Howard, the EnumOUs() UDF that you provided works great and I have modified it for various things and use the heck out of it.

My question is, and forgive me for my ignorance, what is the purpose of $i and $j?

$J obviously causes recursion after each container is exhausted, but I don't understand bumping the count of $i and then later resetting $i to $i + $j. It doesn't seem to be used anywhere and seems to work fine without using $i.

Could you briefly explain if you have a moment?

Thanks