Есть макрос, который с активного листа одной книги, переносит данные в активный лист другой книги, причем листы называются одинаково. Пример существующего кода приведён ниже.
Sub ПереносДанных()
Windows("Форма №1 Рабочая.xlsm").Activate
Range("I34").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Windows("ЭМ_.XLSB").Activate
Range("I34").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Форма №1 Рабочая.xlsm").Activate
Range("I40").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("ЭМ_.XLSB").Activate
Range("I40").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Форма №1 Рабочая.xlsm").Activate
Range("I44").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("ЭМ_.XLSB").Activate
Range("I44").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Форма №1 Рабочая.xlsm").Activate
Range("I51").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("ЭМ_.XLSB").Activate
Range("I51").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Необходимо решить следующие комплексные задачи:
1) Как сделать так, что бы имя закреплённое в коде «Форма №1 Рабочая» было динамично, то есть данное имя автоматически бралось то, из которого запускается макрос;
2) Как сделать так, что бы имя книги в которую необходимо перенести данные выбиралось в ручную, причем выбор сразу определял папку в которой лежит родительский документ из которой запускается макрос? В данном коде данное имя фиксированное «ЭМ_.XLSB». Данный момент ещё усложняется тем, что информацию надо вставлять в лист с идентичным названием. У листов всего два имения «Капитальные вложения» и «Капитальные вложения (ФИН)»;
То есть, резюмируя два первых вопроса надо сделать так, что бы имена файлов были не фиксированы а динамичные с заданными условиями