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

时间:2016-11-18 15:19:31

标签: vba setting

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

理想情况下,我尝试完成范围(x,Y).value = sheet(" 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':应用程序定义或对象定义错误。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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

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"更改为实际的目标工作表名称