Передача данных Excel в макросах из одной книги в другую - PullRequest
0 голосов
/ 29 мая 2018

Здравствуйте. Я создал программу, которая автоматически собирает данные с веб-сайта и вставляет / форматирует их в таблицу Excel.Однако я хотел бы, чтобы эти данные были затем перенесены в другую книгу Excel (ту, которая уже существует).Приведенный ниже макрос переносит данные в другую рабочую книгу Excel, но продолжает вставлять переданные данные поверх данных, которые уже были перенесены ранее.Как я могу получить его для передачи и вставки новых данных, начиная со следующей пустой строки под уже ранее перенесенными данными.Я видел в предыдущем посте, что:

LastRow = Target.Range ("A10000"). End (xlUp) .Row + 1,

Может сделать это, но я не уверен, какреализовать эту строку в сгенерированном макросе vba, который у меня уже есть.Есть ли способ сделать это без необходимости писать другой модуль VBA для реализации этого?Любая помощь приветствуется!

Sub Transfer ()

Range("A2:G34").Select
Selection.Copy
Workbooks.Open Filename:= _
    "Book1.xlsx"
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
    xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
Range("C6").Select

End Sub

1 Ответ

0 голосов
/ 30 мая 2018

Так что я понял это, и я не использовал макросъемку, потому что я не мог довести это до 100% работы для своего проекта, но после исследований, проб и ошибок приведенный ниже код работал именно так, как я хотел.Это работает для передачи двух разных книг Excel или просто листов!Надеюсь, это кому-нибудь поможет.

Sub Transfer()

Worksheets("Source data Sheet Name").Range("A2:G100").Copy
Workbooks.Open Filename:= _
"File Destination for target"

LastRow = Sheets("Target Sheet Name").Cells(Rows.Count, "A").End(xlUp).Row
ActiveSheet.Paste Destination:=Worksheets("Target Sheet Name").Range("A" & LastRow)

ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
...