如果列C标记为Y,如何将整行从一张图纸复制到另一张图纸

  • 本文关键字:一张 复制 记为 如果 excel vba
  • 更新时间 :
  • 英文 :


我在一个工作簿中有三张表,我想将前三张表中的所有行复制到表4中,表4的列"C"标记为Y。

我回答这个问题是因为我很无聊。下面的代码将要筛选的工作表分配给数组,在数组中循环,筛选范围,然后复制筛选数据中的可见单元格。如果"A1"为空;它会将每个工作表中复制的数据粘贴到Range("A1"),否则它会将数据粘贴到"列A"中的第一个空单元格。根据需要更改工作表名称。

Sub FltrPste()
Dim wb As Workbook, shtArr As Variant, wsDest As Worksheet, i As Long, lRow4 As Long
Set wb = ThisWorkbook
shtArr = Array("Sheet1", "Sheet2", "Sheet3")
Set wsDest = wb.Sheets("Sheet4")
lRow = wsDest.Range("A" & Rows.Count).End(xlUp).Row
For i = LBound(shtArr) To UBound(shtArr)
With wb.Sheets(shtArr(i)).Range("A1").CurrentRegion
.AutoFilter
.AutoFilter Field:=3, Criteria1:="y"
.Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).EntireRow.Copy
If Range("A1") = "" Then
wsDest.Cells(1, 1).PasteSpecial xlPasteValues
Else
wsDest.Cells(Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial xlPasteValues
End If
.AutoFilter
End With
Next i
End Sub 

相关内容

最新更新