使用 .Value 在页面上设置范围 = 在另一页上设置范围

setting a range on page = range on another page using .Value

我试图避免在 VBA 中使用复制和粘贴以加快我的代码速度。我有一个 worksheet 的范围,我想用同一工作簿中另一个 sheet 的值填充它。

理想情况下,我正在尝试完成 range(x,Y).value = sheets("sheet2").range(a,b).value

我定义的两个矩阵大小相同 (4x12),以防出现问题...

Dim App_dates As Integer

App_dates = Sheets("Pipeline - Underwriting Data D").Range("G1").End(xlDown).Row - 1


Dim UW As Integer
UW = Range("UW_cell1").Row



'Set value = value

Range("UW_cell1", "UW_btm_end").Value = Sheets("Pipeline - Underwriting Data D").Range("A2", Cells(App_dates + 1, 12)).Value

我收到 运行 时间错误“1004”:应用程序定义或对象定义的错误。

有什么建议吗?

如果命名范围 "UW_cell1" 是工作簿范围内的,或者如果它在当前 活动 sheet 中,那么您可以使用:

With Worksheets("Pipeline - Underwriting Data D")
    With .Range("A2", .Cells(App_dates + 1, 12))
        Range("UW_cell1").Resize(.Rows.Count, .Columns.Count).Value = .Value
    End With
End With

否则

With Worksheets("Pipeline - Underwriting Data D")
    With .Range("A2", .Cells(App_dates + 1, 12))
        Worksheets("myTargetSheetName").Range("UW_cell1").Resize(.Rows.Count, .Columns.Count).Value = .Value
    End With
End With

您必须将 "myTargetSheetName" 更改为您的实际目标 sheet 名称