Currently as per my understanding it is not possible to conditionally change the position of objects.
But still you can have a work-around like
Suposse you have 2 charts, Monthly and Daily placed side by side.
you can create a copy of Monthly chart and then show and hide the old one on based of Selection.
I have just attached the sample application., if it is not meet your requirement.,then rephrase it.
Twolist.qvw 145.8 K
the macro bellow doubles the size of all objects on sheet. You can make use of it to server your purpose. In the APIguide.qvw many examples are available :
rem double size of all sizable objects on active sheet
set sh = ActiveDocument.ActiveSheet
dim dummy(0) 'dummy array indicates all parts of frame to be set
for i = 0 to sh.NoOfSheetObjects-1
set obj = sh.SheetObjects(i)
set fr = obj.GetFrameDef
set pos = fr.Rect
pos.Width = pos.Width * 2
pos.Height = pos.height * 2