Копировать вторую строку до последней строки с пробелами в столбце после фильтрации данных - PullRequest
0 голосов
/ 26 апреля 2019

Я надеюсь, что смогу объяснить это хорошо. У меня возникли трудности в моем коде и какой код я должен использовать. У меня есть большие данные, которые нужно сначала отфильтровать. и диапазон не соответствует.

после фильтрации данных мне нужно скопировать вторую строку (это не копировать имя столбца), до последней строки с пробелами.

Я попробовал этот код, но он не работал

Sheets("Big5").Select
Range("P1").Select

Dim testlrow As Long
testlrow = Cells(Cells.Rows.Count, "A").End(xlUp).Row

Dim rngBIGcode As Range
Set rngBIGcodeM = Range(Cells(ActiveCell.Row + 1, ActiveCell.Column), Cells(Rows.Count, ActiveCell.Column))
    rngBIGcodeM.SpecialCells(xlCellTypeVisible).Cells(1).Select
    Range(Selection, Selection.End(xlDown) & testlrow).Select

Мне нужно скопировать вторую строку из P1 до последней строки.

1 Ответ

0 голосов
/ 26 апреля 2019

Есть несколько проблем с вашим кодом, начиная с использования Select и ActiveCell.Вы также объявляете свой диапазон, затем используете другое имя для Set.Один из способов убедиться, что ваши переменные правильно объявлены, - набрать Option Explicit выше вашего Sub.Затем он проверит ваши переменные.Убедитесь, что ваши объекты четко определены, используя переменную рабочего листа перед ячейками.Вот как может работать ваш код:

   Sub Test ()
        Dim ws As Worksheet
        Dim testlrow As Long
        Dim rngBIGcodeM as Range

        Set ws = Sheets("Big5")
        testlrow = ws.Cells(Rows.Count, "P").End(xlUp).Row

        Set rngBIGcodeM = ws.Range(ws.Cells(2, "P"), ws.Cells(testlrow, "P"))
        rngBIGcodeM.SpecialCells(xlCellTypeVisible).Copy 'Enter Destination Here

        Application.CutCopyMode = False

    End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...