Всем добрый день!
Есть легкое непонимание, т.к. на одном пк макрос работает корректно и переносит значения ячеек из таблицы "Таблицаисточник" в "Таблицаприемник".
При попытке скопипастить макрос с заменой путей на актуальный, выходит ошибка 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
|