2 cases
Case 1 shapes are static:
- all shapes are place on the page 1 time at beginning
- no new shape to include / none of the 5 shapes deleted
- thus the shape ID are well known
Then can do it via shapesheet functions
sum = sheet.1!prop.weight + sheet.2!prop.weight + etc
Case 2 shapes are dymanic
- different number of shapes place....3,4,5,6,7,etc shapes
then can do it via VBA
The issue is that a given shape is unaware of other shapes on the page
(no discovery of shapes, no communication of shapes, etc)
So need VBA.
Even a clumsy approach of each shape placing its weight in page!prop.weight1 or page!prop.weight2 has
limitations (finite max shapes, preload 0 in page props , need to figure out to 0 a weight out if shape deleted).
you should look at Junes calculation shapes for ideas.