اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

جرب مبدئباً هذا  الماكرو

Sub filter_for_me()
Dim My_rg As Range
Dim my_sht As Worksheet
Dim lr As Long
Dim ws9, ws10, ws11, ws12, ws1, ws2, ws3, ws4 As Worksheet
Set my_sht = Sheets("كل الاشهر")
Set ws9 = Sheets("شهر9-2016"): Set ws10 = Sheets("شهر10-2016")
Set ws11 = Sheets("شهر11-2016"): Set ws12 = Sheets("شهر12-2016")
Set ws1 = Sheets("شهر1-2017"): Set ws2 = Sheets("شهر2-2017")
Set ws3 = Sheets("شهر3-2017"): Set ws4 = Sheets("شهر4-2017")
            Application.ScreenUpdating = False
lr = my_sht.Cells(Rows.Count, 1).End(3).Row
Set My_rg = my_sht.Range("A1:H" & lr)
'===================================
My_rg.AutoFilter Field:=4, Operator:=xlFilterValues, Criteria2:=Array(1, "9/30/2016")
My_rg.SpecialCells(xlCellTypeVisible).Copy
ws9.Range("A1").PasteSpecial Paste:=xlPasteAll
my_sht.Range("A1:H" & lr).AutoFilter
 My_rg.AutoFilter
'''''''''''''''''''''''''''''
'===================================
My_rg.AutoFilter Field:=4, Operator:=xlFilterValues, Criteria2:=Array(1, "10/31/2016")
My_rg.SpecialCells(xlCellTypeVisible).Copy
ws10.Range("A1").PasteSpecial Paste:=xlPasteAll
  My_rg.AutoFilter
'===================================
My_rg.AutoFilter Field:=4, Operator:=xlFilterValues, Criteria2:=Array(1, "11/30/2016")
My_rg.SpecialCells(xlCellTypeVisible).Copy
ws11.Range("A1").PasteSpecial Paste:=xlPasteAll
 My_rg.AutoFilter
'===================================
My_rg.AutoFilter Field:=4, Operator:=xlFilterValues, Criteria2:=Array(1, "12/31/2016")
My_rg.SpecialCells(xlCellTypeVisible).Copy
ws12.Range("A1").PasteSpecial Paste:=xlPasteAll
 My_rg.AutoFilter
'===================================
My_rg.AutoFilter Field:=4, Operator:=xlFilterValues, Criteria2:=Array(1, "1/31/2017")
My_rg.SpecialCells(xlCellTypeVisible).Copy
ws1.Range("A1").PasteSpecial Paste:=xlPasteAll
 My_rg.AutoFilter
'===================================
My_rg.AutoFilter Field:=4, Operator:=xlFilterValues, Criteria2:=Array(1, "2/28/2016")
My_rg.SpecialCells(xlCellTypeVisible).Copy
ws2.Range("A1").PasteSpecial Paste:=xlPasteAll
 My_rg.AutoFilter
'===================================
My_rg.AutoFilter Field:=4, Operator:=xlFilterValues, Criteria2:=Array(1, "3/31/2016")
My_rg.SpecialCells(xlCellTypeVisible).Copy
ws3.Range("A1").PasteSpecial Paste:=xlPasteAll
 My_rg.AutoFilter
'===================================
My_rg.AutoFilter Field:=4, Operator:=xlFilterValues, Criteria2:=Array(1, "4/30/2016")
My_rg.SpecialCells(xlCellTypeVisible).Copy
ws4.Range("A1").PasteSpecial Paste:=xlPasteAll
 My_rg.AutoFilter
        Application.ScreenUpdating = True
End Sub

 

  • Like 1
قام بنشر (معدل)

شيخ واستاذ سليم المحترم - جزيت خيرا

تمام - الكود شغال 100 %

استاذ شغلة واحده يرحم والديك

ترحيل الارقام الخاصة الى شيت السيارات الخاصة

تم تعديل بواسطه محمد لؤي
قام بنشر
1 ساعه مضت, محمد لؤي said:

شيخ واستاذ سليم المحترم - جزيت خيرا

تمام - الكود شغال 100 %

تبقى شغلة واحده وهي _ السيارات ارقام السيارات الخاصة ترحل فقط الى شيت (السيارات الخاصة) وارقامها موضحة في شيت (كل الاشهر)

مشكور استاذ - الله يحفظك وبارك الله في وقتك ، مع الاشارة 

بانه توجد اشهر في سنة (2016) واشهر في سنة (2017) وانشاء اشهر جديدة الى نهاية سنة (2017)

انسخ هذه المعادلة الى الخلية A2 من الورقة السيارات الخاصة واسحبها يميناً حتى العامود H ثم الى اسفل  قدر ما تريد من الصفوف

=IF('كل الاشهر'!$J8="","",INDEX('كل الاشهر'!A$2:A$4364,MATCH('كل الاشهر'!$J8,'كل الاشهر'!$E$2:$E$4364,0)))

     

  • Like 1
قام بنشر

السلام عليكم ك جزيت خيرا

أمر مهم وهو :  يوجد برقم السيارة اكثر من نقلة ، فمثلاً الرقم (555042) لديه (5) نقلات والمعادلة نقلت نقلة واحدة 

الله يرضى عليك استاذ ممكن المراجعة - الله يبارك في وقتك

 

قام بنشر

هذا الماكرو يقوم بما تريد

Sub advanced_Salim()

Dim My_rg As Range
Dim My_Sht_Source As Worksheet
Dim My_Sht_Target As Worksheet
Dim Lr, Lra As Long, x As Integer

Set My_Sht_Source = Sheets("كل الاشهر")
Set My_Sht_Target = Sheets("السيارات الخاصة")

My_Sht_Target.Cells.Clear
Lr = My_Sht_Source.Cells(Rows.Count, 1).End(3).Row
Set My_rg = My_Sht_Source.Range("A1:H" & Lr)
x = Application.CountA(My_Sht_Source.Range("j8:j500")) + 7

 Lra = My_Sht_Target.Cells(Rows.Count, 1).End(3).Row
     If Lra = 1 Then Lra = 2
  For k = 8 To x
     My_Sht_Source.Range("xfd2").Formula = "=E2=$J$" & k
     '==============================
    My_rg.AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("كل الاشهر").Range("xfd1:xfd2"), CopyToRange:=My_Sht_Target.Range("A" & Lra)
     Lra = My_Sht_Target.Cells(Rows.Count, 1).End(3).Row + 2
    
Next
End Sub

 

  • Like 1
قام بنشر

السلام عليكم - جزيت خيرا - بارك الله فيك وفي اهلك ومالك 

يرحم والديك

تمام اكثر من المطلوب - وخاصة ترتيب كل مجموع سيارة يفرق بينهم فراغ لاجل الجمع

تمام

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information