ريما كان الملف يهذا الشكل افضل(الصفحة Salim من هذا الملف)
الكود
Sub Salim_filter_ME()
Application.ScreenUpdating = False
Dim Filtler_Rg As Range
Dim copy_rg As Range
Dim ro%, i%
Dim m%: m = 3
Dim last_row
Dim Targ_sh As Worksheet
Dim arr(1 To 9)
On Error GoTo 1
Set Targ_sh = Sheets("salim")
last_row = Targ_sh.Cells(Rows.Count, 2).End(3).Row
If last_row < 3 Then last_row = 3
Targ_sh.Range("b3:j" & last_row).ClearContents
For i = 1 To 9
arr(i) = Targ_sh.Cells(2, i + 1)
Next
If Sheets("add").AutoFilterMode = True Then Sheets("add").AutoFilterMode = False
Set Filtler_Rg = Sheets("add").Range("b1").CurrentRegion
ro = Filtler_Rg.Rows.Count
Set copy_rg = Filtler_Rg.Offset(1, 0).Resize(ro - 1).Columns(1)
For i = 1 To 9
With Filtler_Rg
.AutoFilter
.AutoFilter Field:=3, Criteria1:="=" & Targ_sh.Range("l2")
.AutoFilter Field:=2, Criteria1:="=" & arr(i)
Filtler_Rg.Offset(1, 0).Resize(ro - 1, 1).SpecialCells(xlCellTypeVisible).Copy _
Destination:=Targ_sh.Range("b" & m).Offset(, i - 1)
End With
Next
1:
Erase arr
Sheets("add").AutoFilterMode = False
Application.ScreenUpdating = True
End Sub
الملف مرفق
salim_filter_by sectionr.xls