VBA从范围复制/粘贴失败

时间:2018-05-16 23:55:29

标签: excel vba excel-vba

我正在尝试复制一系列单元格并将它们粘贴到我正在处理的工作表的新位置。这是我的代码

Dim TemplateArea As Range
Dim TemplateOpening As Range
Dim TemplatePopulate As Range

Dim TemplateWS As Worksheet

Private Sub UserForm_Initialize()
    Set TemplateWS = ActiveWorkbook.Worksheets("Template")

    Set TemplateArea = TemplateWS.Range("B6:Q8")
    Set TemplateOpening = TemplateWS.Range("R2:V4")
    Set TemplatePopulate = TemplateWS.Range("B10")

    copyRange TemplateArea, TemplatePopulate
End Sub

Private Sub btn_AddOpening_Click()
    TemplateWS.Range("10:12").Delete

    copyRange TemplateArea, TemplatePopulate
End Sub

Function copyRange(fromRange, toRange As Range)
    fromRange.Copy _
        Destination:=toRange
    ' ^ This is the line it fails at with error code 1004
End Function

它在列出的行上给出的错误代码是运行时错误' 1004',"范围类的复制方法失败"。

这行代码来自Microsoft文档,并且在测试期间提前工作。我已经尝试了所有其他复制/粘贴方式,没有任何工作。

编辑: 似乎错误在于我正在删除它将在复制之前复制到的范围。我需要在复制之前清除范围,因为整个行集中都会有错误的数据,因此必须全部删除。

1 个答案:

答案 0 :(得分:0)

DC

由于范围已删除,因此需要在复制之前重置