Это должно помочь вам начать работу
В этом случае вы можете использовать фильтр и видимые ячейки, чтобы скопировать диапазон на другой лист.
Настройте его в соответствии с вашими потребностями
Private Sub CommandButton1_Click()
Dim sourceSheet As Worksheet
Dim sourceRange As Range
Dim sourceFilteredRange As Range
Dim targetSheet As Worksheet
Dim targetCell As Range
Dim cell As Range
Dim sourceLastRow As Long
Dim targetLastRow As Long
' Define source and target objects
Set sourceSheet = ThisWorkbook.Worksheets("Sheet1")
Set targetSheet = ThisWorkbook.Worksheets("Sheet2")
' Get last row of source sheet
sourceLastRow = sourceSheet.Cells(sourceSheet.Rows.Count, "A").End(xlUp).Row
' Get last row of target sheet
targetLastRow = targetSheet.Cells(targetSheet.Rows.Count, "A").End(xlUp).Row + 1
' Set source range
Set sourceRange = sourceSheet.Range("A1:O" & sourceLastRow)
' Filter source range by route and shipped
With sourceRange
.AutoFilter Field:=15, Criteria1:="<70%"
End With
' Get filtered range
Set sourceFilteredRange = sourceRange.SpecialCells(xlCellTypeVisible)
' Copy filtered range to target sheet
sourceFilteredRange.Copy targetSheet.Range("A" & targetLastRow)
End Sub
Дайте мне знать, если это работает