If you use AutoFilter, you could copy the entire block of data without the need to loop. Please try the following code and let me know how you go.
Option Explicit
Sub CopyFemale()
Dim Source As Worksheet, Target As Worksheet, LastRow As Long
Set Source = Sheets("Sheet1")
Set Target = Sheets("Sheet2")
With Source.Cells(1, 1).CurrentRegion
.AutoFilter 2, "Female"
.AutoFilter 3, ">18"
.Copy Target.Cells(1) ' Use this line to include headers
'.Offset(1).Copy Target.Cells(1) ' Use this line to exclude headers
.AutoFilter
End With
End Sub
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…