我试图避免在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':应用程序定义或对象定义错误。
有什么建议吗?
答案 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"
更改为实际的目标工作表名称