جدول المحتويات
إذا كنت تبحث عن طرق لاستبدال النص في سلسلة باستخدام 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 . اتمنى انك ستجده مفيدا. إذا كان لديك أي اقتراحات أو أسئلة ، فلا تتردد في مشاركتها في قسم التعليقات.