VBA Вставка видимого диапазона с использованием смещения используемого диапазона - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь вставить определенные столбцы, используя смещение 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 голосов
/ 19 февраля 2019

Вместо этого вы компенсируете все 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...