Вставить в активную ячейку, используя диапазон - PullRequest
0 голосов
/ 13 июня 2018

Любая помощь будет принята.

Я пытаюсь написать код vba, который копирует диапазон ячеек из одной рабочей книги в другую.Файл назначения активен и содержит дату в столбце A;это используется для открытия исходного файла (имя файла содержит дату), затем ячейки копируются и вставляются в конечный файл из исходного файла.Код работает отлично, если я вручную укажу целевой диапазон следующим образом:

x.Sheets("Sheet1").Range("B4:D4").Copy Destination:=y.Sheets("Sheet1").**Range("B5")**

Однако;я хотел бы, чтобы диапазон назначения был динамическим .... я хотел бы, чтобы он был таким же, как активная ячейка.Я исправил это различными способами, но все еще не могу найти решение:

Sub OpenWb()

Dim FileDate As Date
Dim x As Workbook
Dim y As Workbook

Application.ScreenUpdating = False

FileDate = ActiveCell.Offset(0, -1)


'Define x and open y

Set y = ActiveWorkbook

Set x = Workbooks.Open("C:\Users\yatesa\Documents\" & Format(FileDate, "dd-mm-yy") & " Production Data.xlsx")

'Transfers values from x to y

x.Sheets("Sheet1").Range("B4:D4").Copy Destination:=y.Sheets("Sheet1").**Range(ActiveCell)**

'Close x

x.Close

End Sub

Большое спасибо.

1 Ответ

0 голосов
/ 13 июня 2018

Большое спасибо за ваш вклад;Теперь я решил проблему.Фокус активной ячейки был потерян при открытии исходного файла .... вероятно, очевидно;но я просто не мог видеть это прошлой ночью.Я добавил строку для хранения активной ячейки назначения и затем смог ее вызвать.Я опубликую код позже сегодня для тех, кто может быть заинтересован.Еще раз спасибо!

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