我正在使用Scott Craner的代码更改(完美无缺)。但是,现在我希望VBA不仅可以匹配一列,还可以匹配两列标准,然后将公式复制/粘贴到下一页。
Sub TransferRows()
Dim lLRow As Long
With Sheets("Sheet1")
lLRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("B:B").AutoFilter Field:=1, Criteria1:="Cat"
.Range("B2:B" & lLRow).SpecialCells(xlCellTypeVisible).EntireRow.Copy
Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlFormulas
.AutoFilterMode = False
End With
End Sub
“B”栏中的Criteria1是“Cat”,我需要从“C”栏添加另一个Criteria2(“dog”)。因此,只要“B”中的“Cat”和“C”中的“Dog”,就会将整行复制到Sheet2。 PS。请记住,我在列“B”和“C”中有各种类型的数据,因此过滤器是必不可少的(因为有数十行的行,因此需要太长时间才能使用循环)。因此,我欢迎有关如何为上述代码添加其他标准的建议。
由于 西
答案 0 :(得分:0)
尝试以下代码(请参阅代码中的注释):
Option Explicit
Sub TransferRows()
Dim lLRow As Long
With Sheets("Sheet1")
lLRow = .Cells(.Rows.Count, 1).End(xlUp).Row
With .Range("B1:C" & lLRow)
.AutoFilter Field:=1, Criteria1:="Cat"
.AutoFilter Field:=2, Criteria1:="dog"
End With
.Range("B2:C" & lLRow).SpecialCells(xlCellTypeVisible).EntireRow.Copy
' rest of your code goes here
End With
End Sub