Skip to main content

كيفية البحث عن النص واستبداله مع الحفاظ على التنسيق في Excel؟

Author: Sun Last Modified: 2025-08-06
A screenshot showing Excel cells with partial formatting changes after find and replace
A screenshot showing desired result where formatting is preserved in Excel cells
وظيفة البحث والاستبدال قوية ومفيدة عندما نحتاج إلى العثور على قيمة محددة واستبدالها بأخرى. ولكن إذا كان هناك نطاق من الخلايا، وبعض هذه الخلايا تحتوي على قيم بتنسيقات مختلفة. في هذه الحالة، فإن استخدام وظيفة البحث والاستبدال لاستبدال القيم سيؤدي إلى كسر تنسيق القيم داخل الخلايا كما هو موضح في لقطة الشاشة أدناه. فكيف يمكننا الحفاظ على تنسيق القيم في كل خلية أثناء البحث والاستبدال في Excel؟

البحث والاستبدال مع الحفاظ على التنسيق باستخدام كود الماكرو

arrow blue right bubble البحث والاستبدال مع الحفاظ على التنسيق باستخدام كود الماكرو

لا توجد طرق أخرى سوى كود الماكرو الذي يمكن أن يساعدك في العثور على النص واستبداله مع الحفاظ على التنسيق.

1. اضغط على مفاتيح Alt + F11 لفتح نافذة Microsoft Visual Basic for Application.

2. انقر فوق إدراج > وحدة، والصق الكود أدناه في البرنامج النصي.

VBA: البحث والاستبدال مع الحفاظ على التنسيق

Sub CharactersReplace(Rng As Range, FindText As String, ReplaceText As String, Optional MatchCase As Boolean = False)
  'UpdatebyExtendoffice20160711
    Dim I As Long
    Dim xLenFind As Long
    Dim xLenRep As Long
    Dim K As Long
    Dim xValue As String
    Dim M As Long
    Dim xCell As Range
    xLenFind = Len(FindText)
    xLenRep = Len(ReplaceText)
    If Not MatchCase Then M = 1
    For Each xCell In Rng
        If VarType(xCell) = vbString Then
            xValue = xCell.Value
            K = 0
            For I = 1 To Len(xValue)
              If StrComp(Mid$(xValue, I, xLenFind), FindText, M) = 0 Then
                xCell.Characters(I + K, xLenFind).Insert ReplaceText
                K = K + xLenRep - xLenFind
              End If
            Next
        End If
    Next
End Sub

Sub Test_CharactersReplace()
    Dim xRg As Range
    Dim xTxt As String
    Dim xCell As Range
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Select a range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Call CharactersReplace(xRg, "KK", "Kutools", True)
End Sub

A screenshot of the VBA module window with code to find and replace

تلميح: في الكود، KK هي السلسلة التي تريد البحث عنها، وKutools هي السلسلة التي تريد استبدالها بها، يمكنك تغييرها حسب الحاجة.

3. اضغط F5 مفتاح، ستظهر نافذة منبثقة لتختار نطاقًا للبحث والاستبدال، انظر إلى لقطة الشاشة:
A screenshot showing the input box for selecting range

4. انقر فوق موافق، وسيتم استبدال السلسلة المحددة في الخلية المختارة بأخرى مع الحفاظ على التنسيق.
A screenshot of cells after find and replace, preserving formatting

أفضل أدوات زيادة الإنتاجية لمجموعة Office

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات بفضل: التنفيذ الذكي|توليد الشيفرة|إنشاء الصيغ المخصصة|تحليل البيانات وتوليد الرسوم البيانية|استدعاء الوظائف المحسنة
الميزات الشائعة: إيجاد أو تمييز أو وضع علامة على المكررات|حذف الصفوف الفارغة|دمج الأعمدة أو الخلايا دون فقدان البيانات|تقريب...
بحث متقدم: بحث V بمعايير متعددة|بحث V بقيم متعددة|بحث في عدة ورقات|مطابقة غامضة ....
قائمة منسدلة متقدمة: أنشئ قائمة منسدلة بسرعة|قائمة منسدلة معتمدة|قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد معين من الأعمدة |نقل الأعمدة |تغيير حالة إظهار/إخفاء الأعمدة المخفية| مقارنة النطاقات و الأعمدة ...
ميزات مميزة: التركيز على الشبكة|عرض التصميم|شريط الصيغ المحسن|إدارة أدوات المصنف وورقة العمل|مكتبة النص التلقائي (Auto Text)|منتقي التاريخ|دمج البيانات |تشفير/فك تشفير الخلايا|إرسال البريد الإلكتروني حسب القائمة|مرشح متقدم|تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض أو مائل أو يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ... )|أكثر من50 نوعاً من الرسوم البيانية (مخطط جانت، ...)|أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...)|19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ... )|12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...)|7 أدوات دمج و تقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...)|... والمزيد
استخدم Kutools بلغتك المفضلة – يدعم الإنجليزية، الإسبانية، الألمانية، الفرنسية، الصينية، وأكثر من40 لغة أخرى!

عزز مهاراتك في Excel مع Kutools لـ Excel، وتمتع بكفاءة غير مسبوقة. يقدم Kutools لـ Excel أكثر من300 ميزة متقدمة لتعزيز الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير

  • فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
  • افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
  • يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!