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

Я не хорош в 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

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

Несколько вещей, чтобы отметить -

  1. Исходная и основная рабочая книга хранятся в разных папках.
  2. Исходная рабочая книга - это место, где собраны данные и откуда будет выполняться макрос.
  3. Основная рабочая книга - это место, куда будут вставлены данные. Он содержит более 40 листов и будет называться 1,2,3 и так далее.
  4. Диапазоны для копирования и вставки одинаковы - диапазон A1:C8 и E1:N1500.

Ищете дополнения к приведенному выше коду, как показано ниже -

  1. Когда макрос запущен, в поле ввода должно быть указано имя листа.
  2. После того, как номер листа введен, он должен проверить, существуют ли данные на соответствующем листе в главной рабочей книге, в диапазонах, указанных выше. Если данные существуют, макрос должен запросить - Данные существуют, введите новый лист.
  3. Если данных не существует, макрос должен скопировать данные из исходной рабочей книги и вставить их на соответствующий лист основной рабочей книги в указанных выше диапазонах.
  4. Поскольку исходная рабочая книга содержит пустые ячейки, макрос формул и форматов должен копировать и вставлять данные без изменений (без специальной вставки).
  5. В макросе должна быть предусмотрена опция для изменения пути обеих книг.
  6. После того, как данные вставлены, макрос должен открыть основную рабочую книгу. Должна быть предусмотрена опция для добавления или удаления этой части кода.

Я попытался кратко объяснить, что именно я ищу. Буду благодарен, если кто-нибудь сможет мне помочь.

0