过滤数据后复制第二行到最后一行,列中有空白

Copy second row until last row with blanks in a column after filtering data

希望我能解释清楚。我的代码有困难,我应该使用什么代码。 我有一个大数据,需要先过滤。并且范围不一致。

过滤数据后,我必须复制第二行(这不是复制列名),直到最后一行有空白。

我试过这段代码,但没用

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 复制第二行,直到最后一行。

您的代码存在一些问题,从使用 SelectActiveCell 开始。您还声明了您的范围,然后使用与 Set 不同的名称。确保正确声明变量的一种方法是在 Sub 上方键入 Option Explicit。然后它将验证您的变量。使用单元格前面的工作表变量确保您的对象定义明确。这就是您的代码的工作方式:

   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