Thanks man. This is been amazing learning for me. Just ordered the book you mentioned and hope I can learn a bit myself.

I changed the code a bit:

Dim strShapes(1 To 4) As String    
    
    strShapes(1) = "Group 40"
    strShapes(2) = "Group 41"
    strShapes(3) = "Group 42"
    strShapes(4) = "Group 43"
    
    Set shpRng = ppSl.Shapes.Range(strShapes)
    shpRng.Distribute msoDistributeVertically, msoFalse
msoTrue was distributing the text boxes across the vertical length of the slide. MsoFalse appears to distribute it keeping the top and bottom fixed. Which is more what I was looking for.

You have no idea how much time this is going to save me at work. If you're ever in New Delhi, do hit me up, would love to buy you a beer!

Cheers,
Roy