Ошибка 424 - скопировать значение ячейки в другую книгу - PullRequest
0 голосов
/ 16 февраля 2019

Я программирую макрос для объединения данных.Мне нужно скопировать значение ячейки в файл консолидации.

Моя идея состоит в том, чтобы сохранить книгу с новым именем (определенным пользователем), а затем скопировать данные из недавно сохраненного файла в книгу консолидации.После того как рабочая книга консолидации открыта, найдите первую строку без данных для копирования значений из сохраненного файла.Вот где я получаю ошибку 424 «Требуется объект».

''    Secuencia para guardar el nuevo 5 por que como nuevo archivo y preservar la plantilla original

Dim workbook_Name As Variant
workbook_Name = Application.GetSaveAsFilename(InitialFileName:="D:\Carpoto\AbInbev\Elaboracion y servicios") & "xlsm"
If workbook_Name <> False Then
ActiveWorkbook.SaveAs fileName:=workbook_Name
End If

Dim nuevopq As String
nuevopq = ActiveWorkbook.Name

'    THIS SEQUENCE, OPEN THE CONSOLIDATE WORKBOOK

Dim directory As String, fileName As String, sheet As Worksheet

Application.ScreenUpdating = False

directory = "D:\Carpoto\AbInbev\"
fileName = Dir(directory & "Consolidado 5pq Planta 2019.xlsx")

Workbooks.Open (directory & fileName)

Windows("Consolidado 5pq Planta 2019.xlsx").Activate

'   FIND THE NEXT EMPTY ROW TO COPY DATA HERE

Cells(Rows.Count, 1).End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Dim CellRange As String
CellRange = ActiveCell.Address(False, False)


Dim consol As String
Dim wbkCur As Workbook
Dim wbkNew As Workbook
Set wbkCur = Workbooks("Consolidado 5pq Planta 2019.xlsx")
Set wbkNew = Workbooks(nuevopq)


'HERE I GET THE ERROR, WHEN I WANT TO COPY THE VALUE FROM D8 TO THE EMPTY CELL IN THE CONSOLIDATE WORKBOOK

wbkCur.Range(CellRange).Value = webkNew.Range("D8").Value

1 Ответ

0 голосов
/ 16 февраля 2019

Полагаю, ваша переменная, CellRange , может относиться к диапазону вне листа - это приведет к ошибке 424.Кроме того, по моему скромному мнению, сделайте все возможное, чтобы не использовать метод Select;Метод Select следует использовать только в том случае, если нет никакого программного способа установки диапазона.

В частности, вам не хватает "."в вашем методе GetSaveAsFilename, ".xlsm"

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