VBA复制可见单元格

我敢肯定,我错过了简单的东西,但我有这样的代码:

Sub Purge() Dim wb As Workbook Dim ws As Worksheet, ws2 As Worksheet Dim lastRow As Long Set wb = ThisWorkbook Set ws = wb.Sheets(1) Set ws2 = wb.Sheets(2) lastRow = ws.Range("A" & Rows.Count).End(xlUp).Row lastRow2 = ws2.Range("C" & Rows.Count).End(xlUp).Row Set mrn = ws2.Range("C2:C" & lastRow2) With wb Sheets.Add After:=Sheets(Sheets.Count), Count:=mrn.Rows.Count End With For i = 1 To mrn.Rows.Count ws.Range("A7").AutoFilter Field:=5, Criteria1:=(mrn.Cells(i, 1).Value), _ Operator:=xlFilterValues ws.Range("A3:X" & lastRow).Copy.SpecialCells (xlCellTypeVisible) wb.Sheets(i + 2).PasteSpecial Next i End Sub 

复制单元types可见的代码的倒数第二行返回给我一个必需的对象错误。 我在这一行中所有的东西似乎都被定义了,所以我觉得我的行写错了。

简而言之,此代码根据表2中的行数创build新选项卡,然后筛选表1并复制可见单元格并将其粘贴到第一个新创build的选项卡中。

如果任何人有任何build议复制可见细胞(我从来没有真正能够理解它),我真的很感激。 谢谢!