Использование для каждого цикла для программной генерации фигур и добавления макросов - PullRequest
0 голосов
/ 21 ноября 2018

Ладно, я немного над головой с этим, но я надеюсь, что ответ намного проще, чем кажется с моей ограниченной точки зрения.

У меня есть книга Excel, которую я пытаюсь настроить как шаблон с поддержкой макросов, и поэтому мне нужно, чтобы весь мой код и формулы были чрезвычайно гибкими, поскольку они должны будут динамически адаптироваться кпроект, для которого они используются в каждом случае.

Лист 1 будет листом Splice_Diagram, и у меня есть именованный диапазон на этом листе со следующей ссылкой:

=Splice_Diagram!$R$3:INDEX(Splice_Diagram!$R:$R,MATCH("",Splice_Diagram!$R:$R,-1))

Количество листов, названных в этом диапазоне, будет изменяться в зависимости от количества соединений, требуемых проектом.

Мне нужно создать макрос для итерации по этому списку, создать форму для каждого,и назначьте следующее для каждой фигуры:

Sheets("[Name of Sheet indicated in List]").Select
Range("A3").Select

На отдельных этапах этого я более или менее способен запутаться, но у меня возникают проблемы с передачей имен листов, повторяемых вЦикл для команды Macro Sheets.Select.

Например, если есть три соединения, списком на странице Splice_Diagram будет Splice_01, Splice_02 и Splice_03.Это должно привести к трем фигурам с текстом, который говорит Splice_01, Splice_02 и Splice_03 соответственно.Эти формы должны работать:

Splice_01:

Sheets("Splice_01").Select
Range("A3").Select

Splice_02:

Sheets("Splice_02").Select
Range("A3").Select

Splice_03:

Sheets("Splice_03").Select
Range("A3").Select

Листы всегда будут помеченыс префиксом "Splice_" и увеличивающимся числом, если это помогает.Однако количество сращиваний всегда будет разным.

Расположение фигур вообще не имеет значения, даже если все они сложены друг на друга, потому что мне нужно будет их переместитьвокруг для симуляции сети в любом случае.

Для создания самих фигур я сейчас использую этот маленький кусочек:

SpliceGuide.Shapes.AddShape msoShapeRectangle, 50, 50, 100, 200

Надеюсь, это было понятно, пожалуйста, дайте мне знатьесли есть что-то невероятно очевидное, что я пропускаю.

Спасибо!

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