JavaScript is not enabled!...Please enable javascript in your browser

جافا سكريبت غير ممكن! ... الرجاء تفعيل الجافا سكريبت في متصفحك.

-->
الصفحة الرئيسية

Excel VBA في 5 دقائق فقط : استخرج أسماء الأخوة الاشقاء من قائمة الطلاب بسهولة! (دورة للمبتدئين)

 بسم الله الرحمن الرحيم 

اهلا بكم متابعى موقع عالم الاوفيس

Excel VBA في 5 دقائق فقط : استخرج أسماء الأخوه الاشقاء من قائمة الطلاب بسهولة! (دورة للمبتدئين)



تعتبر لغة برمجة VBA (Visual Basic for Applications) أداة قوية لتعزيز قدرات برنامج إكسيل، وتوفير حلول مخصصة لمختلف المهام. من بين هذه المهام، القدرة على استخراج معلومات محددة من كميات كبيرة من البيانات، مثل أسماء الطلاب الأخوات من قائمة طويلة بأسماء الطلاب. في هذا المقال، سنتناول بالتفصيل كيفية استخدام VBA لتحقيق هذا الهدف، مع تقديم أمثلة عملية وشروحات مبسطة.

 لماذا VBA؟

 التحكم الدقيق: تتيح VBA للمستخدم التحكم الكامل في عمليات إكسيل، وتنفيذ مهام معقدة لا يمكن تحقيقها بالوسائل التقليدية.

 الأتمتة: يمكن لـ VBA أتمتة مهام متكررة، مما يوفر الوقت والجهد.

 التخصيص: يمكن تكييف أكواد VBA لتناسب احتياجات المستخدمين المختلفة.

 خطوات استخراج أسماء الطلاب الأخوات باستخدام VBA

1. تحضير البيانات:

    يجب أن تكون بيانات الطلاب منظمة في جدول داخل ورقة عمل إكسيل.

    يجب تحديد عمود يحتوي على أسماء الطلاب.

    يمكن إضافة أعمدة إضافية لتحديد العائلة أو أي معلومات أخرى ذات صلة.

2. كتابة كود VBA:

    يتم فتح محرر VBA عن طريق الضغط على Alt+F11.

    يتم إنشاء نموذج جديد (Module).

    يبدأ كتابة الكود، والذي يتضمن عادةً:

      تحديد النطاق: تحديد الخلايا التي تحتوي على أسماء الطلاب.

      التكرار: استخدام حلقة تكرار (مثل For Each) للتعامل مع كل اسم على حدة.

      الفحص: مقارنة الأسماء للعثور على الأسماء المتشابهة (أي الأسماء التي تشير إلى أخوات).

      التخزين: تخزين أسماء الأخوات في قائمة أو نطاق آخر.

 


3. تنفيذ الكود:

    يتم تشغيل الكود عن طريق الضغط على زر التشغيل في محرر VBA أو عن طريق إنشاء زر في ورقة العمل لتشغيل الكود عند النقر عليه.

 

 مثال على كود VBA

 

Sub split_same_names()

Dim lastrow As Long

Dim firstname As String, midllename As String, lastname As String

Dim nextrow As Long

 

lastrow = Cells(Rows.Count, "a").End(xlUp).Row

nextrow = 2

Range("c2:c100000").ClearContents

 

  For i = 2 To lastrow

   firstname = Split(Cells(i, "a").Value, " ")(0)

   midllename = Split(Cells(i, "a").Value, " ")(1)

   lastname = Split(Cells(i, "a").Value, " ")(2)

  

   For j = i + 1 To lastrow

    If Split(Cells(j, "A").Value, " ")(1) = midllename And Split(Cells(j, "a").Value, " ")(2) = lastname Then

    Cells(nextrow, "c").Value = Cells(i, "a").Value

     nextrow = nextrow + 1

     Cells(nextrow, "c").Value = Cells(j, "a").Value

     nextrow = nextrow + 1

     

            End If

    

       Next j

    Next i

End Sub

 

 

 

 

تطوير الكود

يمكن تطوير هذا الكود الأساسي ليشمل ميزات إضافية مثل:

 الترتيب: ترتيب أسماء الأخوات حسب الحاجة.

 التصفية: تصفية النتائج بناءً على معايير معينة (مثل الصف أو القسم).

 إنشاء جدول جديد: إنشاء جدول جديد يحتوي على أسماء الأخوات فقط.

 إنشاء مخطط: إنشاء مخطط بياني يوضح عدد الأخوات في كل صف أو قسم.

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

ملاحظات:

 التخصيص: يجب تعديل الكود ليناسب بنية البيانات الموجودة لديك.

 الأخطاء: قد تواجه بعض الأخطاء أثناء كتابة وتنفيذ الكود، لذا يجب فحص الكود بعناية.

لتحميل ملف العمل 

قد يعجبك ايضا            

 


الاسمبريد إلكترونيرسالة