首页 > 解决方案 > 错误 424 - 将单元格值复制到另一个工作簿

问题描述

我正在编写一个宏来整合数据。我需要将单元格值复制到合并文件中。

我的想法是使用新名称(由用户定义)保存工作簿,然后将数据从最近保存的文件复制到合并工作簿。打开合并工作簿后,找到第一行没有数据以从保存的文件中复制值。这是我得到错误 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

标签: excelvba

解决方案


我的猜测是您的变量CellRange可能指的是工作表之外的范围 - 这会产生 424 错误。另外,以我的拙见,请尽一切可能不使用 Select 方法;只有在没有编程方式设置范围时才应使用 Select 方法。

具体来说,您缺少“。” 在您的 GetSaveAsFilename 方法中,".xlsm"


推荐阅读