'===========================
'هذا الكود للمحترم النابغه ياسر خليل
'الهدف من الكود هو استدعاء بشرط
'تم هذا الكود في 15/2/2017
Sub استدعاء()
Dim arr As Variant
Dim temp As Variant
Dim cr As Variant
Dim lr As Long
Dim i As Long
Dim j As Long
Dim c As Long
Dim ws As Worksheet
Dim sh As Worksheet
Set ws = Sheets("Sheet1")
Set sh = Sheets("Sheet2")
'= = = = = = = = = = = =
' شيت الهدف والمدى المطلوب مسحه
sh.Range("B7:AJ10000").ClearContents
' اسم ورقة المصدر
lr = ws.Cells(Rows.Count, 1).End(xlUp).Row
'متغير اسم ورقة المصدرومدى البيانات بها
arr = ws.Range("A7:EF" & lr).Value
ReDim temp(1 To UBound(arr, 1), 1 To UBound(arr, 2))
'ارقام الاعمده المطلوب نقلها
cr = Array(2, 3, 7, 8, 9, 11, 12, 24, 25, 35, 36, 46, 47, 57, 58, 72, 73)
j = 1
For i = LBound(arr, 1) To UBound(arr, 1)
' المعيار او الشرط الذي نبحث به ورقم عمود المعيار
If arr(i, 135) Like "*" & "نا*" & "*" Then
temp(j, 1) = j
For c = LBound(cr) To UBound(cr)
temp(j, c + 2) = arr(i, cr(c))
Next c
j = j + 1
End If
Next i
' اسم شيت الهدف
With sh
.Range("B7").Resize(j - 1, UBound(temp, 2)).Value = temp
'سطر لمسح التسطير
.Range("B7:AJ" & Rows.Count).Borders.Value = 0
'سطر لاضافة التسطير
.Range("B7:AJ" & .Cells(Rows.Count, 2).End(xlUp).Row).Borders.Value = 1
PasteSpecial Paste:=xlPasteFormats
End With
End Sub
لماذا لاتعمل مع اضافه نسخ التنسيقات ؟
جزاكم الله خيرا