Каждая фигура имеет свойство TopLeftCell
и BottomRightCell
, которое вы можете использовать для этого:
Sub CopyCellValue()
Dim s As Shape
Debug.Print Application.Caller
Set s = ActiveSheet.Shapes(Application.Caller)
s.TopLeftCell.Offset(0, -4).Copy 'Or whatever
End Sub
Application.Caller
будет содержать имя фигуры, которой назначен макрос,так что вы можете назначить один и тот же макрос каждому увеличительному классу.
Просто убедитесь, что ваши иконки действительно помещены в нужные ячейки.Это может особенно укусить вас, если вы попытаетесь выровнять их по пикселям по углам (например, перетаскивая один из углов формы с нажатой клавишей alt), в этом случае TopLeftCell
/ BottomRightCell
может вместо этого ссылаться на соседние ячейки.