Sub Test() Dim s As Shape Set s = ActiveShape s.Curve.Nodes.All.BreakApart ' Break apart curve into multiple subpaths s.BreakApart ' Break apart subpaths into individual shapes For Each s In ActiveSelection.Shapes s.Move Rnd() - 0.5, Rnd() - 0.5 Next sEnd Sub