使用已用范围偏移量的VBA可见范围粘贴

时间:2019-02-19 15:39:45

标签: excel vba

我正在尝试使用usedrange偏移量粘贴特定的列,以便粘贴的数据不会覆盖已经存在的数据。我不断收到错误消息“找不到方法或成员数据”,我不知道如何纠正它。一切对我来说还不错。我可能想念的东西可能很小,但这就是我所拥有的...

 lrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
        ActiveSheet.Range("$A$1:$AE$10000").AutoFilter Field:=1, Criteria1:="NA"
        Set sh = Worksheets("Country")
        Set ppage = ThisWorkbook.Worksheets("PPage")
        Set rang = ppage.UsedRange.Offset(1, 0)

        sh.Range("A1:C" & lrow).SpecialCells(xlCellTypeVisible).Copy
        rang("A1").PasteSpecial xlPasteValues
        sh.Range("S1:U" & lrow).SpecialCells(xlCellTypeVisible).Copy
        rang("D1").PasteSpecial xlPasteValues

        Application.CutCopyMode = False

看来ppage.rang语句周围存在粘贴我的值的问题。任何帮助或朝正确方向推动将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:2)

您将抵消整个usedrange Set rang=range("a" & ppage.usedrange.rows.count+1)

Sub x()

Dim r As Excel.Range
Dim ppage As Excel.Worksheet

Set ppage = Worksheets("sheet1")

ppage.Range("$A$1:$J$10").AutoFilter Field:=1, Criteria1:="NA"

Set r = ppage.Range("a" & ppage.UsedRange.Rows.Count + 1)

ppage.Range("$A$1:$J$10").SpecialCells(xlCellTypeVisible).Copy

r.PasteSpecial xlPasteValues

End Sub