使用VBA代码复制/粘贴前N个可见行

2022-11-16 12:58:18 浏览数 (1)

标签:VBA

有很多朋友提出到关于复制并粘贴可见行的问题,例如对工作表数据进行筛选后要复制数据的情形。如果想要将工作表中除去隐藏行的前N行复制到另一个工作表中,该怎么实现?特别是筛选后的工作表中可能有成百上千行,这对于按顺序复制肯定不行。要将筛选后的数据复制到一个新的位置,并且只复制筛选后的数据且数据连续。

下面的过程对筛选后的数据的前10行进行复制并粘贴到另一工作表中:

代码语言:javascript复制
Sub TopNRows()
    Dim i As Long
    Dim r As Range
    Dim rWC As Range
    Set r = Range("A11", Range("A" & Rows.Count).End(xlUp)).SpecialCells(12)
    For Each rWC In r
        i = i   1
        If i = 10 Or i = r.Count Then Exit For
    Next rWC
         Range(r(1), rWC).Resize(, 12).SpecialCells(12).Copy Sheet2.[A2]
End Sub

该过程在当前工作表上运行,并将数据粘贴到代码名为sheet2的工作表中。如果要使用此过程,确保在VBE中检查是否确实存在Sheet2。

注:本文代码来源于thesmallman.com,有兴趣的朋友可以到该网站上学习。

0 人点赞