我有这个代码从一本工作簿复制到另一本工作簿,当我使用像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的值复制到所有单元格中 任何帮助都会很棒
答案 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