要在动态范围内粘贴的宏

时间:2018-10-07 13:20:41

标签: excel vba

我需要将数据表从一个工作簿复制到另一个工作簿。我想出了如何设置“复印范围”,但是却在动态的目标范围内苦苦挣扎。

为了更好地理解;复制文档包括一组按日期排序的值。有时数据集将以1月1日开始,有时以5月8日或任何其他随机日期开头。

目标文档是一个固定日期表,从1月1日到12月31日,并且数据需要粘贴到正确的行中(根据匹配的日期)。列是固定的。

我在“目标文档”中有一个MATCH公式,可以交叉检查“粘贴范围”应从哪一行开始,但是不知道如何将其与已知列合并。

现在我有:

Dim x As Workbook
Dim y As Workbook

Set x = Workbooks.Open("PATHWAY 1")
Set y = ThisWorkbook

x.Sheets("2").Range("B1:F1").End(xlDown).Copy

'Now, paste to y worksheet:
y.Sheets("R2").Range.Cells("2,[Helper.xlsb]R2!$H$2").PasteSpecial xlPasteValues

Data Sets Screenshot

1 个答案:

答案 0 :(得分:0)

也许这就是您想要的。

dim m as variant

x.Sheets("2").Range("B1:F1").End(xlDown).Copy
m = application.match(dateserial(2018, 10, 31), y.range("A:A"), 0)
if not iserror(m) then
    y.Sheets("R2").Cells(m, "B").PasteSpecial xlPasteValues
end if