Excel VBA: كيفية استبدال النص في سلسلة (5 طرق فعالة)

Hugh West

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

تنزيل المصنف

استبدال النص في String.xlsm

5 طرق لاستبدال النص في سلسلة باستخدام Excel VBA

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

لقد استخدمنا Microsoft Excel 365 إصدار هنا ، يمكنك استخدام أي إصدارات أخرى وفقًا لراحتك.

الطريقة 01: استبدال النص بدءًا من الموضع n للسلسلة العشوائية

هنا ، سنستبدل النص في سلسلة نصية عشوائية لمواضع بداية مختلفة.

الخطوة -01 :

➤ انتقل إلى علامة التبويب المطور & gt؛ & gt؛ Code Group & gt؛ & gt؛ Visual Basic Option.

ثم محرر Visual Basic سيتم فتح .

➤ انتقل إلى إدراج علامة تبويب & gt؛ & gt؛ الوحدة النمطية الخيار.

بعد ذلك ، سيتم إنشاء وحدة .

الخطوة -02 :

➤ اكتب التاليالكود

8510

هنا ، أعلنا عن full_txt_str و updated_str كـ String ثم قمنا بتعيين full_txt_str إلى نص عشوائي السلسلة- "مائة سيارة وخمسون سيارة عشر سيارات" . ثم يتم استخدام VBA وظيفة REPLACE لاستبدال جزء Cars من هذه السلسلة العشوائية بـ Bicycles و 1 يُستخدم هنا لبدء الاستبدال من الموضع 1 من هذه السلسلة. أخيرًا ، قمنا بتعيين هذه السلسلة النصية الجديدة إلى updated_str ومع مربع الرسالة ( MsgBox ) سنرى النتيجة.

➤ اضغط على F5 .

ثم يظهر مربع رسالة مع السلسلة النصية الجديدة مع النص المستبدل الدراجات .

➤ للقيام بعملية الاستبدال من المثيل الثاني لـ Cars استخدم الكود التالي.

7459

هنا ، استخدمنا موضع البداية كـ 14 لأننا نريد الحصول على جزء من السلسلة بعد Hundred Cars واستبدال سيارات هنا.

➤ بعد تشغيل الكود ، سيكون لدينا مربع الرسالة التالي مع السلسلة النصية بدءًا من النص خمسون ومع الدراجات في موضع سيارات .

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

5819

هنا ، استخدمنا موضع البداية كـ 25 لأننا نريد الحصول على جزء السلسلة بعد خمسون سيارة واستبدال السيارات بـ الدراجات هنا.

أخيرًا ، سيكون لدينا مربع رسالة مع الجزء المطلوب من السلسلة الذي يحتوي على الاستبدال بـ دراجات .

اقرأ المزيد: Excel VBA: استبدل الحرف في سلسلة حسب الموضع (4 طرق فعالة)

الطريقة 02: استبدال النص لحدوث سلسلة عشوائية من رقم n باستخدام Excel VBA

في هذا القسم ، سنستبدل نصًا في سلسلة عشوائية لأعداد مختلفة من التكرارات بمساعدة من كود VBA .

الخطوات :

➤ اتبع الخطوة -01 من الطريقة الأولى .

➤ اكتب الكود التالي.

5986

هنا ، أعلنا أن full_txt_str و updated_str كـ String ثم قم بتعيين full_txt_str إلى سلسلة نصية عشوائية- "Hundred Cars Fifty Cars Ten Cars" . بعد ذلك ، يتم استخدام وظيفة REPLACE لاستبدال جزء Cars من هذه السلسلة العشوائية بـ Bicycles ، 1 يُستخدم هنا لبدء الاستبدال من الموضع 1 من هذه السلسلة ، والنهائي 1 هو لحساب عدد التكرارات. باستخدام 1 كرقم عد ، فإننا نحدد استبدال أول سيارات فقط. أخيرًا ، قمنا بتعيين هذه السلسلة النصية الجديدة إلى updated_str ومع aمربع الرسالة ( MsgBox ) سنرى النتيجة.

➤ اضغط F5 .

بعد ذلك ، سيظهر مربع الرسالة بالنص الجديد الدراجات في الموضع الأول من السيارات فقط.

➤ لاستبدال أول مثيلين من سيارات بـ دراجات استخدم الكود التالي.

5115

هنا ، 2 ​​ يُستخدم كرقم عد لاستبدال أول مثيلين من سيارات مع الدراجات .

بعد تشغيل الكود ، سيكون لديك استبدال النصين الأولين سيارات مع دراجات .

➤ قم بتطبيق الكود التالي لاستبدال جميع الحالات من النص سيارات .

9330

هنا ، الوسيطة الأخيرة للدالة REPLACE هي 3 وهي يشير رقم العد إلى استبدال جميع السيارات بـ الدراجات في السلسلة النصية.

➤ اضغط على F5 .

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

قراءات مماثلة

  • كيفية استبدال النص بأحرف العودة في Excel (4 مقاربات ناعمة)
  • Excel VBA: كيفية البحث و استبدال النص في مستند Word
  • كيفية استبدال النص بعد حرف معين في Excel (3 طرق)
  • استبدال نصالخلية بناءً على الحالة في Excel (5 طرق سهلة)

الطريقة 03: استبدال النص في سلسلة عشوائية بـ InputBox

هنا ، سنستبدل نصًا معينًا من سلسلة عشوائية مع نص سيتم تحديده من قبل المستخدم بمساعدة وظيفة VBA InputBox .

الخطوات :

➤ اتبع الخطوة 01 من الطريقة الأولى .

➤ اكتب الكود التالي

4741

هنا ، أعلنا full_txt_str ، new_txt ، و updated_str كـ سلسلة ثم تعيين full_txt_str لسلسلة نصية عشوائية- "مائة وخمسون سيارة عشر سيارات" . للحصول على المدخلات المعرفة من قبل المستخدم كنص ليتم استبداله بـ سيارات في السلسلة العشوائية ، استخدمنا وظيفة InputBox ثم قمنا بتعيين هذه القيمة إلى new_txt . ثم يتم استخدام وظيفة REPLACE لاستبدال الجزء Cars من هذه السلسلة العشوائية بـ new_txt . أخيرًا ، قمنا بتعيين هذه السلسلة النصية الجديدة إلى updated_str ومع مربع الرسالة ( MsgBox ) سنرى النتيجة.

➤ اضغط على F5 .

بعد ذلك ، سيظهر Input Box حيث يمكنك إدخال أي جزء نص تريده في السلسلة الجديدة.

➤ اكتب دراجات أو أي نص آخر تريده ثم اضغط على موافق .

أخيرًا ، ستفعل الحصول على النتيجة التالية مع النص الجديد الذي يحتوي على نص جديد الدراجات فيموضع السيارات .

اقرأ المزيد: كيفية استبدال النص في صيغة Excel (7 طرق سهلة)

الطريقة 04: استبدال النص في نطاق سلاسل بـ Excel VBA

هنا ، سنستبدل الجزء gmail من معرفات البريد الإلكتروني مع المجالات الموجودة في العمود مجال جديد ، ولتجميع معرفات البريد الإلكتروني الجديدة قمنا بإدراج عمود جديد ؛ معرف البريد الإلكتروني النهائي .

الخطوات :

➤ اتبع الخطوة -01 من الطريقة -1 .

➤ اكتب الكود التالي.

3392

هنا ، استخدمنا حلقة FOR لتنفيذ العملية من الصف 4 إلى الصف 13 . بمساعدة عبارة IF-THEN ، تحققنا مما إذا كانت معرّفات البريد الإلكتروني في العمود D تحتوي على "gmail" أم لا ، ولتحقيق هذا المعيار ، سيتم استبدال الجزء "gmail" من معرّفات البريد الإلكتروني بالمجالات الجديدة لـ العمود E لإنشاء المعرفات الجديدة في العمود F . وإلا سيكون لديك فراغ في الخلايا المقابلة لـ العمود F .

➤ اضغط على F5 .

بعد ذلك ، سيكون لديك معرّفات البريد الإلكتروني الجديدة في العمود معرّف البريد الإلكتروني النهائي .

اقرأ المزيد: Excel VBA للبحث عن نص واستبداله في عمود (مثالان)

الطريقة 05: استبدال النص في نطاق من السلاسل بإدخال المستخدم للبحث عن نص

يمكنك استبدال معرّفات البريد الإلكتروني التالية بامتدادالمجالات الجديدة والإعلان عما يجب استبداله في المعرفات السابقة ، يمكن استخدام إدخال المستخدم باتباع هذه الطريقة.

الخطوات :

➤ اتبع الخطوة 01 من الطريقة الأولى .

➤ اكتب الكود التالي

1535

هنا ، حددنا النص الجزئي كسلسلة سلسلة ثم تعيينها لسلسلة يتم تقديمها من قبل المستخدم من خلال صندوق الإدخال .

بعد ذلك ، استخدمنا حلقة FOR لتنفيذ العملية من الصف 4 إلى الصف 13 ، وباستخدام العبارة IF-THEN ، تحققنا مما إذا كانت معرّفات البريد الإلكتروني لـ العمود D تحتوي على "gmail" أو ليس. ولتحقيق هذا المعيار ، سيتم استبدال الجزء "gmail" من معرّفات البريد الإلكتروني بالمجالات الجديدة لـ العمود E لإنشاء المعرفات الجديدة في العمود F . وإلا سيكون لديك فراغ في الخلايا المقابلة لـ العمود F .

➤ اضغط على F5 .

بعد ذلك ، سيكون لديك Input Box حيث يتعين عليك كتابة النص الذي تريد البحث عنه في نطاق معرفات البريد الإلكتروني (هنا لدينا أدخلت gmail ) ثم اضغط على موافق .

أخيرًا ، لدينا معرفات البريد الإلكتروني المحدثة في النهائي عمود معرف البريد الإلكتروني .

اقرأ المزيد: البحث عن نص واستبداله في نطاق باستخدام Excel VBA (ماكرو ونموذج مستخدم)

قسم الممارسة

لممارسة الممارسةلقد قدمنا ​​بنفسك قسم ممارسة كما هو موضح أدناه في ورقة باسم ممارسة . يرجى القيام بذلك بنفسك.

الاستنتاج

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

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