no problem, what you have so far kind of works, it starts with the second artboard and when it gets deleted, the third artboard becomes the second. So when it loops to the next AB the 3rd is AB # 4, does it makes sense? you need to start with the last AB so when it gets deleted the others don't get their index # messed up. loop backwards For i = idoc.Artboards.Count To 2 Step -1 to move items use a translation matrix Set moveMatrix = iapp.GetTranslationMatrix(deltaX, deltaY) loop thru items (any kind of item) in selection, and apply matrix sel = idoc.Selection For j = LBound(sel) To UBound(sel) sel(j).Transform moveMatrix sel(j).Selected = False //deselect Next it's all VB code, but you get the idea. As Mark said, it could get messy once all is in one artboard, but I guess they are all arranged to coexist into one, right?
... View more