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

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

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

السلام عليكم ورحمة الله وبركاته

إخواني وأحبابي في الله

:cool2: :cool2:

أقدم لكم كود متميز جداً .. كود في منتهى الروعة .. إن شاء الله تستفيدوا منه أقصى استفادة ..

الكثير منا يبحث عن موضوع فصل الناجحين والراسبين .. ها أنا أقدم لك على طبق من كود : الكود الذهبي  :yes:  الذي سيقوم بذلك بمنتهى السهولة واليسر .. :dance1: 

هذا هو الشكل العام للكود

Sub SplitFilteredData()
    'الإعلان عن المتغيرات
        Dim MySheet As Worksheet
        Dim MyRange As Range
        Dim UList As Collection
        Dim UListValue As Variant
        Dim I As Long
       
    'تخصيص ورقة العمل النشطة
       Set MySheet = ActiveSheet
       
    'إذا لم تحتوي ورقة العمل على فلترة يتم الخروج من الإجراء الفرعي
       If MySheet.AutoFilterMode = False Then
            Exit Sub
        End If
     
    'حدد العمود الذي يحتوي على البيانات المراد عمل تصفية لها
       Set MyRange = Range(MySheet.AutoFilter.Range.Columns(5).Address)
       
    'إنشاء كائن تجميعي
       Set UList = New Collection
       
    'وضع قيم في الكائن التجميعي بالقيم الفريدة أي الغير مكررة فقط
       On Error Resume Next
        For I = 2 To MyRange.Rows.Count
        UList.Add MyRange.Cells(I, 1), CStr(MyRange.Cells(I, 1))
        Next I
        On Error GoTo 0
     
    'حلقة تكرارية للقيم الموجودة داخل الكائن التجميعي
       For Each UListValue In UList
       
       
    'حذف أية أوراق عمل تم إنشاءها من قبل
           On Error Resume Next
            Application.DisplayAlerts = False
            Sheets(CStr(UListValue)).Delete
            Application.DisplayAlerts = True
            On Error GoTo 0
       
       
    'عمل تصفية لمطابقة القيمة الحالية
           MyRange.AutoFilter Field:=5, Criteria1:=UListValue
       
       
    'نسخ النطاق الذي تم تصفيته إلى ورقة عمل جديدة
           MySheet.AutoFilter.Range.Copy
            Worksheets.Add.Paste
            ActiveSheet.Name = Left(UListValue, 30)
            Cells.EntireColumn.AutoFit
           
     
    'إعادة الحلقة التكرارية مع قيمة أخرى
       Next UListValue
     
     
    'الذهاب للصفحة التي تحتوي على البيانات وإزالة الفلترة
       MySheet.AutoFilter.ShowAllData
        MySheet.Select
End Sub

في الفيديو شرح لكيفية استخدام الكود .. ومرفق في الموضوع الملف الذي تم الشرح عليه

إليكم رابط الفيديو

 

 

لا تنسونا من صالح دعائكم ، ولا تنسوا اللايكات في اليوتيوب ...

تقبلوا تحيات أخوكم أبو البراء :fff: :fff: :fff:

Split Filtered Data VBA.rar

Split Filtered Data VBA V2.rar

تم تعديل بواسطه YasserKhalil
  • Like 10
  • Thanks 1
قام بنشر

موضوع رائع يا حبيبي ياسر لكن هناك الاروع و هو من وضعه

لدي تعليقان اذا كنت تسمح بذلك

1-لو تستطيع ان تضع في قائمة منسدلة ارقام الأعمدة لتوفير الوقت على المستخدم من الدخول الى الكود
  و اجراء التعديلات (حاجة سهلة جداً) لانه هناك الكثير لا يجيدون تعديل الكود و حفاظاً عليه من العبث عن    طرق الخطأ.وهذه طريقة مطاطة اذا كان هناك اكثر من 5 أعمدة

2- في حال لم تكن الورقة تحتوي على الفلترة اجبار الكود على القيام بذلك

  • Like 1
قام بنشر

الأخ الحبيب مصطفى أبو ملك (الباحث العربي)

مشكور على مرورك العطر

 

الأخ الغالي سليم

إنت تؤمر ..تم التعديل بحيث تتم عملية الفلترة إذا لم تكن موجودة وتم إظهار صندوق إدخال يمكن من خلاله إدخال رقم العمود المراد العمل عليه ..

جزيت خيراً على الملاحظات القيمة

 

الأخ الفاضل مدرسة ..

أهلا بك في المنتدى وفي انتظار مساهماتك سواء بالمعلومة أو الاستسفار

 

تم إرفاق النسخة الثانية من الملف في المشاركة الأولى

قام بنشر

تم تحرير المشاركة الأولى أخي مختار مرة أخرى ..حمل النسخة الثانية من الملف ..

وفي انتظار ملاحظاتكم للوصول لأفضل أداء للكود ... وفي انتظار إضافاتك يا مختار يا متمكن

قام بنشر

تحياتي للأستاذ ياسر ، صاحب الاعمال المتميزة الرائعة ( سلسلة الانفجارات )

فكرة الاستاذ سليم ، وهي تنفيذ الكود من خلال القائمة المنسدلة ..( لعناوين الاعمدة ). فكرة عملية جداً وقد تناولها الاستاذ : عبد الله باقشير ، وزاد عليها زر .. خذف اوراق الفلترة

انقلها ليستفاد منها 

All-Items.rar

  • Like 2
  • Thanks 1
قام بنشر

الأخ الحبيب أبو القبطان ..ملف الأستاذ عبد الله باقشير ملف في منتهى الروعة والإبداع ..ليس له مثيل ..وأول مرة أرى هذا الملف ..إنه تحفة

طلع المستخبي يا جدو ..دا أنا على كدا هعملك موضوعات جديدة عشان تطلع اللي عندك

جزيت خيرا على هذا الملف الرائع تقبل تحياتي

  • 4 weeks later...
  • 2 months later...
قام بنشر

جزاك الله كل خير استاذ ياسر على الكود الرائع

ولكن عند استعماله على صفحة تحتوي 100 عمود

واردت الفلتره بمعيه العمود 7

ظهرت رساله ادخل رقم بين ال1 -4

الملف المرفق

قام بنشر

هل لايوجد حل لمثل الحاله التي ارفقتها

 

ربما يوجد حل ولكن ليس لدي علم به .. على حد علمي أنه يجب أن تكون البيانات لها صف واحد من العناوين بدون دمج

قام بنشر

جميع الصفحات التي نتعامل معها بها صفوف عليا كلها مملوءه بالبيانات

مثلا اسم المدرسه

اسم الصف

المديريه وهكذا

لو انك عملت اضافه في الكود للتعريف باول صف مطلوب فلترته

قام بنشر

السلام عليكم ورحمة الله وبركاته:

أخي الحبيب أبو البراء إن علاج الملفات المتشعبة والتي تضم الكثير من مناحي الحياة اليومية دليل قاطع على نجاح المنتدى الكريم في تطوير الحياة العامة لمجتمعنا العربي المسلم والنهوض به نحو المزيد من الرقي ليضاهي المجتمعات المتقدمة بهذا المضمار ويفوقها بأخلاقه الرفيعة ..جزاكم الله خيرا أنتم وكل القائمين عليه تواصلون الليل بالنهار سعيا نحو مستقبل واعد بإذن الله تعالى وعونه...والسلام عليكم.

  • 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