使用VBA过滤后,从可见行复制前25行

时间:2015-02-24 15:26:36

标签: excel vba excel-vba powerpoint powerpoint-vba

我在其中一个项目中遇到了困难。

在我在其中一列上应用过滤器后,如何从所有可见行中复制前25行。目前它正在复制所有可见范围。

With xlSheet
    .AutoFilterMode = False
    With xlApp.Worksheets("source").Range("A1:G1000")
        .AutoFilter Field:=5, Criteria1:="x1"
        .SpecialCells(xlCellTypeVisible).Copy
    End With
End With

然后我将过滤器更改为x2,并希望为该过滤器复制前25行,依此类推。

提前致谢

1 个答案:

答案 0 :(得分:0)

应用过滤器后,宏会将 Sheet1 中的前25行复制到 Sheet2(不包括标题行)

Sub dural()
    Dim sh1 As Worksheet, sh2 As Worksheet
    Dim i As Long, j As Long
    Set sh1 = Sheets("Sheet1")
    Set sh2 = Sheets("Sheet2")
    i = 1
    For j = 2 To Rows.Count
        If sh1.Cells(j, 1).EntireRow.Hidden = False Then
            sh1.Cells(j, 1).EntireRow.Copy sh2.Cells(i, 1)
            i = i + 1
            If i = 26 Then Exit Sub
        End If
    Next j
End Sub