【问题标题】:Copy first 25 rows from visible rows after filter using VBA使用 VBA 过滤后从可见行复制前 25 行
【发布时间】:2015-02-24 15:26:35
【问题描述】:

我在其中一个项目中遇到了一些问题。

在对其中一列应用过滤器后,如何从所有可见行中复制前 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 行,依此类推。

提前致谢

【问题讨论】:

    标签: vba excel powerpoint


    【解决方案1】:

    应用过滤器后,宏会将前 25 行从 Sheet1 复制到 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
    

    【讨论】:

    • 其实我想把数据从excel复制到powerpoint,所以不能逐行复制粘贴。因此,如果可见行超过 25,我只想选择前 25 个可见行,或者如果它小于 25,则选择所有可见行。
    • 您想在 PowerPoint 中捕获嵌入的 Excel 对象还是只是在 PowerPoint 幻灯片中放一张图片??
    • 粘贴为图片即可
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多