标签: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,有兴趣的朋友可以到该网站上学习。