أدناه سوف ننظر في برنامج في برنامج Excel VBA الذي - التي يفرز البيانات بشكل عشوائي (في هذا المثال يفرز الأسماء بشكل عشوائي).
قارة:
1. أولاً ، نعلن عن أربعة متغيرات. متغير واحد من النوع String نسميه TempString ، متغير واحد من النوع Integer نسميه TempInteger ، متغير واحد من النوع Integer نسميه i ، ومتغير واحد من النوع Integer نسميه j.
لا أحدtempStringكما سلسلة، tempIntegerكما عدد صحيح، أناكما عدد صحيح، يكما عدد صحيح2. نكتب 5 أرقام عشوائية في العمود B (رقم واحد لكل اسم). نحن نستخدم وظيفة ورقة العمل RandBetween لهذا الغرض.
لأنا = 1إلى5
الخلايا (i، 2) .Value = WorksheetFunction.RandBetween (0، 1000)
التاليأنا
النتيجة حتى الآن:
حساب السنوات بين تاريخين في Excel
سنستخدم الأرقام الموجودة بجانب كل اسم لفرز الأسماء. الاسم الذي يحتوي على أقل رقم أولاً ، الاسم الذي يحتوي على ثاني أقل رقم ، الثاني ، إلخ.
3. نبدأ أ حلقة مزدوجة .
باستخدام وظيفة الترتيب في التفوقلأنا = 1إلى5
لي = أنا + 1إلى5
4. أضف سطر الرمز التالي:
لوالخلايا (ي ، 2). القيمةمثال: بالنسبة إلى i = 1 و j = 2 ، تتم مقارنة ويندي وريتشارد. نظرًا لأن ريتشارد لديه رقم أقل ، فإننا نستبدل ويندي وريتشارد. ريتشارد في المركز الأول الآن. بالنسبة إلى i = 1 و j = 3 ، تتم مقارنة ريتشارد وجوست. Joost لديه رقم أعلى لذلك لا يحدث شيء. بهذه الطريقة ، يحصل Excel VBA على الاسم بأقل رقم في الموضع الأول. بالنسبة إلى i = 2 ، يحصل Excel VBA على الاسم الذي يحتوي على ثاني أقل رقم في الموضع الثاني ، وما إلى ذلك.
5. إذا كان هذا صحيحًا ، فنحن مبادلة، مقايضة الأسماء.
tempString = الخلايا (i ، 1). القيمةالخلايا (i، 1) .Value = Cells (j، 1) .Value
الخلايا (j ، 1) .Value = tempString
6. ونبادل الأرقام.
tempInteger = خلايا (ط ، 2). القيمةالخلايا (i، 2) .Value = Cells (j، 2) .Value
الخلايا (ي ، 2). القيمة = tempInteger
7. لا تنسى إغلاق عبارة If.
نهاية لو8. لا تنسى إغلاق الحلقتين.
التالييالتاليأنا
9. اختبر البرنامج.
كيفية إجراء vlookups في Excel
نتيجة:
ملاحظة: يمكنك إضافة سطر يحذف الأرقام الموجودة في العمود B. بل إنه من الأجمل وضع أرقام كل اسم في مصفوفة ، بحيث لا يتم وضع أي أرقام في ورقة العمل الخاصة بك. ومع ذلك ، فقد اخترنا ، لأغراض توضيحية ، وضع القيم على الورقة.
انتقل إلى الفصل التالي: أخطاء ماكرو