В Excel у меня есть три фигуры с именами ON_1
, ON_2
и ON_3
.Я пытаюсь построить массив индексов Shape и получить ShapeRange.У меня есть код VBA, но я получаю сообщение об ошибке;Индекс в указанную коллекцию выходит за пределы.Вот код:
Sub test()
Dim sht As Worksheet
Dim shprng As ShapeRange
Dim shape_index As Variant
Dim i As Long
Set sht = ActiveSheet
ReDim shape_index(1 To sht.Shapes.Count)
For i = 1 To UBound(shape_index)
shape_index(i) = i
Next
Set shprng = sht.Shapes.Range(shape_index)
End Sub
Я ожидаю получить переменную shprng
, чтобы включить все shapenames в массив.
Но вместо этого я получаю ошибку с этой строкой кода:
Set shprng = sht.Shapes.Range(shape_index)
Ошибка времени выполнения 1004: индекс в указанной коллекции выходит за пределы
Есть идеи?