My thoughts were basically along three lines.

The first is that dynamic adding foms and controls is not simple, and is not robust in my experience, so it is much better to have pre-defined forms and controls, and hide and show as appropriate.

If the number is so variable that this idea is not feasible, there is a way of creating old style dialog boxes on the fly which is much simpler, much more robust.

These dialogs are predicated on lots of similar controls, and probably becomes just as diificult is there are many different types of controls. If this is the case then, IMO, the design is over-engineered and you should go back and look for a simpler solution. Most times, in VBA, complexity is not necessary and not desirable.