VBA粘贴范围与动态选择

时间:2016-12-10 15:46:41

标签: excel-vba dynamic range copy-paste vba

我阅读了多篇Q& A,但是我很难真正理解使用不同对象的所有长脚本。

我正在尝试从一个工作表到另一个工作表中选择一个范围。 我希望保持范围动态,因为范围每次都可以变化。通过这样做,我使用了以下脚本:

Dim range As Long

For range = ActiveCell To ActiveCell.End(xlDown)
Sheets("Stock Report").range("A4" & range).Value = 
    Sheets("Unique File").range("Y8" & range).Value

然而,它没有做任何事情。

这个脚本确实有效,但我想让最后一个单元保持动态:

Sheets("Stock Report").Range("A4:A9000").Value = 
    Sheets("Unique File").Range("Y8:Y90004").Value

我必须为多个列执行此操作,这些列是使用不同工作表中的其他文件计算的,并且需要最终对它们进行排序,而不需要在另一个工作表中进行所有计算。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

好的尝试。

Sheets("Unique File").Range("Y8:Y" & Sheets("Unique File").Range("A4").End(xlDown).Row + 4).Copy
Sheets("Stock Report").Range("A4").PasteSpecial Paste:=xlPasteValues

范围(" A4")。End(xlDown).Row获取Stock Report工作表上数据的最后一行,用于复制到Unique File工作表上的同一行。我添加了4,因为您的范围从唯一文件表上的8开始。

我认为你的代码没有用,因为你试图使用"范围"您是从独特价值表上的股票报告表创建的。