Как я могу ссылаться на форму, получая имя формы из ячейки? - PullRequest
0 голосов
/ 20 января 2019

Я бы хотел просмотреть список фигур по определенным именам, указанным в списке ячеек в Excel. Для упрощения, вот проблема для ссылки на имя только одной фигуры:

Имя фигуры "Star1" и указано в ячейке A1.

В коде VBA я мог напрямую выбрать форму с помощью ActiveSheet.Shapes("Star1").Select или ActiveSheet.Shapes(1).Select. Однако я хотел бы косвенно выбрать форму, ссылаясь на имя, указанное в ячейке A1

ActiveSheet.Shapes(Indirect("A1")).Select

Этот код не работает и удивляет, как его можно исправить.

1 Ответ

0 голосов
/ 20 января 2019

Синтаксис, который вы ищете, будет выглядеть так: -

Worksheets("Sheet1").Shapes(Worksheets("Sheet2").Cells(1, 1).Value).Select
or, if you prefer,
Worksheets("Sheet1").Shapes(Worksheets("Sheet2").Cells(1, "A").Value).Select
or
Worksheets("Sheet1").Shapes(Worksheets("Sheet2").Range("A1").Value).Select

Во всех вышеперечисленных случаях фигура находится на листе 1, а ее имя - на листе 2. Оба элемента могут находиться на одном листе, и любой из двух (или оба) может быть ActiveSheet и иметь соответствующие адреса.

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