Выбор фигуры в Excel с VBA - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь выбрать фигуру по имени, используя VBA. В моем листе у меня есть 10 фигур с именами от 1 до 10, и я хочу конкретную. По какой-то причине форма, которую Excel выбирает с помощью моего кода, не похожа на форму с именем, которое я сказал ей выбрать. Насколько я могу судить, выбранная им форма является случайной. Вот мой код (предполагается, что значение x возвращает числовое значение, которое я ввел от 1 до 10):

Sub FindTheShape()

Sheets("Fleet 1").Select
Dim x As Long
x = ActiveSheet.Range("$A$1000").End(xlUp).Value

ActiveSheet.Shapes(x).Select

End Sub

Пожалуйста, помогите, любые идеи очень ценятся.

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Насколько я могу судить, выбранная им форма является случайной.

Это происходит потому, что когда вы используете числовое значение, вы на самом деле ссылаетесь на положение фигуры в коллекции Shapes. Когда вы используете строковое значение, вы ссылаетесь на имя фигуры. То же самое касается листов. Смотрите мой ответ .

0 голосов
/ 03 июля 2018

Ваш x дает номер индекса, а не имя, когда ваши фигуры с именами от 1 до 10 делают строку из вашего x:

ActiveSheet.Shapes(CStr(x)).Select
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...