Как в макросе Excel сделать копирование диапазона ячеек из одной книги в другую?

приветствую, пытаюсь скопировать диапазон ячеек из одной книги в другую.
если делаю вот так:

Set rgCopy = wb1.Sheets(1).Range("A8:M65")
rgCopy.Copy Destination:=wb2.Sheets(1).Range("A8:M65")


то копируется.
но у меня диапазон меняется каждый раз и надо подставлять туда переменные с указанием начала и конца диапазона, и например, вот так уже не работает:

Set rgCopy = wb1.Sheets(1).Range(Cells(8, 1), Cells(65, 13))
rgCopy.Copy Destination:=wb2.Sheets(1).Range("A8:M65")


Как правильно сделать копирование произвольного диапазона из одной книги в другую?
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 1
NikitaDvorets
@NikitaDvorets
Консалтинг / экономика / программирование (excel)
Добрый день!
Примерно по такой логике:
' открыты обе книги

' Set rgCopy = wb1.Sheets(1).Range(Cells(8, 1), Cells(65, 13))
' rgCopy.Copy Destination:=wb2.Sheets(1).Range("A8:M65")

Application.CutCopyMode = False

Dim wb1 As Workbook
Set wb1 = ActiveWorkbook


Dim wb2 As Workbook
Set wb2 = Workbooks("C:\Users\DataFile.xlsm")

wb1.Activate
wb1.Sheets(1).Range(Cells(8, 1), Cells(65, 13)).Copy

wb2.Activate
wb2.Sheets(1).Range("A8").Select
Selection.Paste

Application.CutCopyMode = True
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы