Если вы не заботитесь о названии картинок после их вставки, вы можете вообще игнорировать их использование. Предположим, что рисунки, вставленные на лист 1, являются единственными рисунками на листе в данный момент. Затем вы можете ссылаться на них без кавычек следующим образом:
Worksheets("Sheet2").Shapes("1").Copy
Worksheets("Sheet1").Paste Worksheets("Sheet1").Range("A1")
Worksheets("Sheet1").Shapes(1).IncrementLeft 100
Worksheets("Sheet1").Paste Worksheets("Sheet1").Range("A1")
Worksheets("Sheet1").Shapes(2).IncrementLeft 200
Каждый раз, когда вы вставляете другое изображение, увеличивайте Shapes(x)
на единицу, и вновь вставленная фигура будет нацелена, как вы теперь нацеливаетесь на них по номеру фигуры, а не по имени.
К вашему сведению, вы также можете изменить имя, если вам это нравится:
Worksheets("Sheet1").Shapes(2).Name = "3"
Также, как блестяще указал Хроноцид в комментариях, используя Shapes(Worksheets("Sheet1").Shapes.count)
посчитает фигуры на этом листе, а затем обратится к последнему. Так что это всегда будет тот, который вы только что добавили. Это очень полезно, если у вас уже есть несколько фигур, или вы не можете (беспокоиться) вести счет.