Duplicating multiple objects in VBA

This is how far I got (not very far):

    W = ActiveSelection.SizeWidth
    Set s1 = ActiveSelectionRange.Duplicate(W)

My aim is to make a macro that duplicates whatever I have selected and offsets it with the current SizeWidth. Trouble is, how do I proceed after the first duplicate? Ideally I would like the active selection to change to the newly created duplicate every time. But this might implicate some serious code (at least for a rookie). Any ideas?

  • You have all you need: s1 still lives during runtime, so you can use it to create a new selection.

    Sub dublicate()
    Dim s1 As New ShapeRange, w As Double
    w = ActiveSelection.SizeWidth
    Set s1 = ActiveSelection.DuplicateAsRange(w)
    s1.CreateSelection
    End Sub