Всем добрый день!
Есть легкое непонимание, т.к. на одном пк макрос работает корректно и переносит значения ячеек из таблицы "Таблицаисточник" в "Таблицаприемник".
При попытке скопипастить макрос с заменой путей на актуальный, выходит ошибка 9, т.к. макрос не видит листа "Лист1" в "Таблицаисточник", но если добавить лист под названием "Лист1" - все значения исправно встают куда им нужно, но не в ту книгу.
Вопрос в следующем, вероятно я как то некорректно обозначил активную книгу, куда должны падать значения.
Не мог бы кто-нибудь дать комментарий?)
Код |
---|
Sub КопироватьЯчейки() ' Указываем имена файлов и диапазоны ячеек для копирования Const файлWorkbook1 As String = "C:\Users\Timon\Desktop\Таблицаисточник.xlsx" Const файлWorkbook2 As String = "C:\Users\Timon\Desktop\Таблицаприемник.xlsm" Const диапазонDiap1 As String = "A2:O2" Const диапазонDiap2 As String = "P2:AD2" ' Открываем файлы Dim wbИсточник As Workbook, wbПриемник As Workbook Set wbИсточник = Workbooks.Open(файлWorkbook1) Set wbПриемник = Workbooks.Open(файлWorkbook2) ' Выбираем активные листы в обоих книгах Dim wsИсточник As Worksheet, wsПриемник As Worksheet Set wsИсточник = wbИсточник.Sheets("Sheet1") Set wsПриемник = wbПриемник.Sheets("Лист1") ' Находим последнюю заполненную строку в столбце A на листе источника Dim последняяСтрока As Long последняяСтрока = wsИсточник.Cells(wsИсточник.Rows.Count, "A").End(xlUp).Row ' Копируем данные из диапазона источника в диапазон приемника wsИсточник.Range(диапазонDiap1 & ":A" & последняяСтрока).Copy _ Destination:=wsПриемник.Range(диапазонDiap2 & ":P" & последняяСтрока) End Sub |