Ладно, я немного над головой с этим, но я надеюсь, что ответ намного проще, чем кажется с моей ограниченной точки зрения.
У меня есть книга 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
Надеюсь, это было понятно, пожалуйста, дайте мне знатьесли есть что-то невероятно очевидное, что я пропускаю.
Спасибо!