vba多单元错误450

时间:2017-09-16 21:53:32

标签: excel vba excel-vba runtime-error

我有这个代码从一本工作簿复制到另一本工作簿,当我使用像A1这样的东西时似乎运行良好:但是我需要复制某些单元格,但是我得到运行时错误450,调试显示了这一点。

 Workbooks(Dir(Path)).Worksheets("DCR").range("A3", "A9", "A19" "A23" "B38:B44").VALUE = _
   Workbooks("book.xlsm").Worksheets("dcr").range("L3", "L9", "L19" "L23" "M38:M44").VALUE

如果我采取所有"它只是将A3的值复制到所有单元格中 任何帮助都会很棒

1 个答案:

答案 0 :(得分:3)

您无法在一行中为不相连的单元格指定值或复制粘贴。你需要将每个组分成它们自己的行。

最好的方法是使用With Block并使其他ws成为变量,以限制输入。

Dim ws as Worksheet
Set ws = Workbooks("book.xlsm").Worksheets("dcr")
With Workbooks(Dir(Path)).Worksheets("DCR")
    .range("A3").Value = ws.range("L3").Value
    .range("A9").Value = ws.range("L9").Value
    .range("A19").Value = ws.range("L19").Value
    .range("A23").Value = ws.range("L23").Value
    .range("B38:B44").Value = ws.range("M38:M44").Value 
End With