【发布时间】:2018-03-20 00:46:54
【问题描述】:
我正在尝试将粘贴值从一个工作簿复制到另一个工作簿。我想指定多个范围,这样我就可以避免为每个范围使用一个变量。我使用以下对我不起作用的简化代码:
Sub Gather()
Dim y As Workbook
'## Setting variables ##
Dim Contractual_flow_mat_C66_r460_470_c120_130_140 As Variant
'## Open Workbooks ##
Set y = Workbooks.Open("Y")
'## Store values ##
Contractual_flow_mat_C66_r460_470_c120_130_140 = y.Sheets("66").Range("P56:R57", "P62:R68", "P72:R74")
'## Input the values ##
ThisWorkbook.Sheets("Denominator").Range("D48:F49", "D51:F57", "D59:F61") = Contractual_flow_mat_C66_r460_470_c120_130_140
'## Other ##
y.Close
End Sub
我在这一行收到错误“参数数量错误或属性分配无效”:
Contractual_flow_mat_C66_r460_470_c120_130_140 = y.Sheets("66").Range("P56:R57", "P62:R68", "P72:R74")
【问题讨论】:
-
您需要遍历每个单元格并将它们单独放入数组中。您不能从脱节的范围内为数组批量赋值。