وظيفة البحث عن VBA | كيفية استخدام وظيفة VBA Find؟ (أمثلة)

برنامج Excel VBA Find

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

قبل أن ننتقل إلى VBA ونبدأ في استخدام وظيفة البحث في وحدات الماكرو ، نحتاج إلى أن نتعلم أولاً ما هي وظيفة البحث في Excel. في Excel العادي في علامة التبويب الصفحة الرئيسية ضمن مجموعة التحرير ، يمكننا العثور على وظيفة بحث تُستخدم للعثور على سلسلة أو قيمة في نطاق خلية أو ورقة عمل كاملة.

عندما نضغط على هذا ، نحصل على خيارين ؛

من السهل العثور على أحدها ،

يمكننا أن نرى أنه يحتوي أيضًا على وضع من الخيارات يفتح ميزة أخرى.

يقوم بخوارزمية البحث بأربعة قيود ، العثور على ما ، والداخل ، والبحث ، والبحث.

الخيار الثاني في Excel هو البحث والاستبدال والذي يستخدم عندما نجد سلسلة ولكن ما الذي نستبدلها بأي قيمة أخرى ،

ابحث عن بناء جملة الوظيفة

لقد تعلمنا أعلاه ما هو Find in basic excel. في VBA نكتب الرموز يدويًا ولكن الميزات هي نفسها Excel العادي. أولا ، دعونا نلقي نظرة على بناء الجملة.

Expression.Find (ماذا ، انظر ، ...)

إذا تم العثور على القيمة التي نبحث عنها باستخدام دالة Excel ، فإنها تُرجع الخلية حيث توجد القيمة وإذا لم يتم العثور على القيمة ، يتم تعيين كائن الوظيفة على لا شيء.

التعبيرات في وحدات الماكرو هي نطاقات محددة مثل النطاق 1 أو النطاق 2. ما هي الكلمة الأساسية لما نريد البحث عن قيمة معينة؟ Lookin هي كلمة رئيسية لما نحاول البحث عنه ، هل هي تعليق أم صيغة أم سلسلة. وبالمثل ، هناك قيود أخرى اختيارية في وظيفة البحث. الحقل الإلزامي الوحيد المطلوب هو القيمة التي نحاول البحث عنها.

في الأساس ، يجد VBA أن Excel لديه وسيطة واحدة مطلوبة وهي ما القيمة التي نريد البحث عنها. باقي القيود اختيارية وهناك العديد من القيود في العثور على وظيفة. وظيفة البحث تشبه وظيفة البحث في Excel.

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

أمثلة

يمكنك تنزيل قالب Excel الخاص بوظيفة VBA FIND هنا - قالب Excel الخاص بوظيفة VBA FIND

مثال 1

افترض أن بياناتنا تحتوي على القيم التالية

سنحاول إيجاد "آران" في نفس البيانات.

  • لكتابة رمز VBA ، من الضروري تمكين علامة تبويب المطور في Excel حتى تتمكن من كتابة أكواد VBA.

  • نبدأ في كتابة الكود الخاص بنا عن طريق كتابة الكود التالي كما هو موضح أدناه ،
عينة فرعية ()

خافت يجد كسلسلة

خافت Rng كمدى

FindS = InputBox ("أدخل القيمة التي تريد البحث عنها")

مع الأوراق ("Sheet1") .Range ("A: A")

  • العينة هي اسم الوظيفة المعطاة للفرع الفرعي.
  • Find هي السلسلة التي نريد أن يدخلها المستخدم للبحث.
  • Rng هو المتغير الذي أخذناه للنطاق.
  • الآن نطلب من المستخدم إدخال القيمة التي تبدو مثل لقطة الشاشة أدناه ،

  • الآن سنحدد وظيفة البحث الخاصة بنا في الوحدة النمطية.

  • تبحث الوظيفة عن القيمة التي أدخلها المستخدم في النطاق المحدد.
  • الآن نقوم بإغلاق الوظيفة من خلال الحجج التالية.

  • الآن إذا قمنا بتشغيل الكود الخاص بنا أولاً ، فإنه يطلب مطالبة من المستخدم بقيمة.

  • بمجرد اكتمال الرمز ، تقوم بإرجاع الخلية إلى حيث تم العثور على البيانات.

المثال رقم 2

في المثال أعلاه ، كان هناك أربعة أسماء فريدة ولكن ماذا لو كان هناك أكثر من اسم واحد في البيانات ، مثل النظر في البيانات أدناه ،

يمكننا أن نرى أن اسم أران تكرر مرتين في البيانات أعلاه. إذا كان على Excel العثور على اسم Aran ، فسيجده في الخلية A2 ويتوقف ، ولكن هناك قيمة أخرى مماثلة لقيمة A2 في الخلية A6. كيف تجلب هذه القيمة؟ هنا يأتي بناء جملة البحث (ماذا ، بعد) في المساعدة.

بعد تحديد الخلية التي بعد ذلك مرجع نريد البحث في البيانات.

دعونا نكتب رمز البيانات أعلاه.

  • تذكر دائمًا تمكين علامة تبويب المطور من الخيارات ثم من تخصيص الشريط في Excel لتتمكن من كتابة الكود في VBA.
  • في VBA ، نحصل على كائنات Microsoft Excel وهي وحدة نكتب فيها الرموز.

  • في السابق كنا نعمل على الورقة 1 الآن نحن نعمل في الورقة 2 ، لذا حدد الورقة 2 لوحدة أخرى وستظهر صفحة فارغة.

  • ابدأ الآن في كتابة الكود عن طريق تحديد الوظيفة أولاً باسم SUB Sample2 () واضغط على Enter.

  • الآن حددنا وظيفتنا ، سنبدأ في الدخول إلى الجزء الرئيسي وهو تحديد المتغيرات.

  • حدد ما يجب أن يحتويه متغير البحث ،

  • حدد الأوراق التي نعمل عليها وهي الورقة 2 في هذا المثال ،

  • سنجد الآن النص الذي يدخله المستخدم بعد خلية A2 ، لذلك نحدد وظيفة البحث على النحو التالي ،

  • الآن نغلق الكود بإنهاء الشرطين بـ و if

ما يفعله الكود أعلاه هو البحث في السلسلة بعد الخلية A2 وإرجاع الخلية أينما وجدت.

أشياء للذكرى

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