Я ищу макрос, который может скопировать данные из исходной рабочей книги и вставить ее в основную рабочую книгу на основе указанных вкладок листа.
Я не хорош в VBA. Искал в сети и наткнулся на код ниже
Sub TransferDataV2()
'transfer stuff from this workbook to workbook 2
Dim strPath2 As String
Dim wbkWorkbook1 As Workbook
Dim wbkWorkbook2 As Workbook
'define paths and filenames
strPath2 = "D:\Master.xlsx"
'open files
Set wbkWorkbook1 = ThisWorkbook
Set wbkWorkbook2 = Workbooks.Open(strPath2)
wbkWorkbook2.Worksheets("Sheet1").Range("A1:B3").Value = _
wbkWorkbook1.Worksheets("Sheet1").Range("A1:B3").Value
'close the workbook
wbkWorkbook2.Close (True)
End Sub
Код выполняет открытие основной рабочей книги, вставку данных в определенный диапазон и закрытие основной рабочей книги.
Несколько вещей, чтобы отметить -
- Исходная и основная рабочая книга хранятся в разных папках.
- Исходная рабочая книга - это место, где собраны данные и откуда будет выполняться макрос.
- Основная рабочая книга - это место, куда будут вставлены данные. Он содержит более 40 листов и будет называться 1,2,3 и так далее.
- Диапазоны для копирования и вставки одинаковы - диапазон A1:C8 и E1:N1500.
Ищете дополнения к приведенному выше коду, как показано ниже -
- Когда макрос запущен, в поле ввода должно быть указано имя листа.
- После того, как номер листа введен, он должен проверить, существуют ли данные на соответствующем листе в главной рабочей книге, в диапазонах, указанных выше. Если данные существуют, макрос должен запросить - Данные существуют, введите новый лист.
- Если данных не существует, макрос должен скопировать данные из исходной рабочей книги и вставить их на соответствующий лист основной рабочей книги в указанных выше диапазонах.
- Поскольку исходная рабочая книга содержит пустые ячейки, макрос формул и форматов должен копировать и вставлять данные без изменений (без специальной вставки).
- В макросе должна быть предусмотрена опция для изменения пути обеих книг.
- После того, как данные вставлены, макрос должен открыть основную рабочую книгу. Должна быть предусмотрена опция для добавления или удаления этой части кода.
Я попытался кратко объяснить, что именно я ищу. Буду благодарен, если кто-нибудь сможет мне помочь.