Quello che chiedi è fattibile ma di solito per non complicarsi le cose, personalmente non lo farei, soprattutto se non si ha dimestichezza con il codice, converrebbe disabilitarlo proprio per non spostare nulla...
Lo spostamento dei controlli è semplice ma se si tratta di 1 è una cosa... quando si tratta di condizionare lo spostamento a seconda della visibilità di altri le casistiche possono essere troppe da razionalizzare co codoce funzionale quindi conviene agire in modo diverso.... ovvero chiamare i controlli con un progressivo e modificare il ControlSource rendendo non visibili gli ultimk, ma la.cosa secondo me inizia ad essere un po eccessiva e richiede codice strutturato.