السلام عليكم ،،، وجمعة مباركه على الجميع
بختصار // هذا الكود يقوم بالفلتره بواسطة عملية حسابيه
Sub Macro1()
Dim lr As Long
Application.ScreenUpdating = False
lr = Range("b" & Rows.Count).End(xlUp).Row
Range("G18").FormulaR1C1 = "=MAX(R[1]C[-4]:R65536C3)"
Range("H18").FormulaR1C1 = "=IF(RC[-4]>RC[-1],""تنفيذ"",)"
Range("G18:H18").AutoFill Destination:=Range("G18:H" & lr), Type:=xlFillDefault
Range("G18:H" & lr) = Range("G18:H" & lr).Value
Application.ScreenUpdating = True
End Sub
وهذا الكود يقوم بترحيل ناتج العملية الحسابيه في حال توفر الشرط
Private Sub CommandButton1_Click()
Dim Cl As Range
If [H17] = "" Then Exit Sub
For Each Cl In Range("H18:H" & [H5000].End(xlUp).Row)
If Cl.Value = [H17] Then
Cl.Offset(0, -6).Resize(1, 3).Copy
Range("N" & [N5000].End(xlUp).Row + 1).PasteSpecial xlPasteValues
End If
Next
MsgBox "تم الترحيل بنجاح ", vbOKOnly, "تنبيه"
End Sub
المطلوب اختصار العملية والاستغناء عن الفلتره ونقل العملية الحسابية لزر الترحيل بحيث يقوم بالحساب وترحيل مايوافق الشروط والاستغناء عن مالاتنطبق عليه الشروط
مع الشكر مرفق للتوضيح
نموذج1.rar