Note: The other languages of the website are Google-translated. Back to English

كيفية ربط أعمدة الخلايا والحفاظ على لون النص في إكسيل؟

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

اربط أعمدة الخلايا واحتفظ بلون خط النص باستخدام كود VBA


اربط أعمدة الخلايا واحتفظ بلون خط النص باستخدام كود VBA


لإنهاء هذه المهمة في Excel ، قد يكون رمز VBA التالي مفيدًا لك ، يرجى القيام بذلك على النحو التالي:

1. اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

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

كود فبا: اربط أعمدة الخلايا واحتفظ بلون النص:

Sub MergeFormatCell()
'Updateby Extendoffice
    Dim xSRg As Range
    Dim xDRg As Range
    Dim xRgEachRow As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim I As Integer
    Dim xRgLen As Integer
    Dim xSRgRows As Integer
    Dim xAddress As String
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xSRg = Application.InputBox("Please select cell columns to concatenate:", "KuTools For Excel", xAddress, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    xSRgRows = xSRg.Rows.Count
    Set xDRg = Application.InputBox("Please select cells to output the result:", "KuTools For Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    Set xDRg = xDRg(1)
    For I = 1 To xSRgRows
        xRgLen = 1
        With xDRg.Offset(I - 1)
            .Value = vbNullString
            .ClearFormats
            Set xRgEachRow = xSRg(1).Offset(I - 1).Resize(1, xSRg.Columns.Count)
            For Each xRgEach In xRgEachRow
                .Value = .Value & Trim(xRgEach.Value) & " "
            Next
            For Each xRgEach In xRgEachRow
                xRgVal = xRgEach.Value
                With .Characters(xRgLen, Len(Trim(xRgVal))).Font
                .Name = xRgEach.Font.Name
                .FontStyle = xRgEach.Font.FontStyle
                .Size = xRgEach.Font.Size
                .Strikethrough = xRgEach.Font.Strikethrough
                .Superscript = xRgEach.Font.Superscript
                .Subscript = xRgEach.Font.Subscript
                .OutlineFont = xRgEach.Font.OutlineFont
                .Shadow = xRgEach.Font.Shadow
                .Underline = xRgEach.Font.Underline
                .ColorIndex = xRgEach.Font.ColorIndex
                End With
                xRgLen = xRgLen + Len(Trim(xRgVal)) + 1
            Next
        End With
    Next I
End Sub

3. ثم اضغط F5 مفتاح لتشغيل هذا الرمز ، ويظهر مربع موجه لتذكيرك بتحديد نطاق البيانات الذي تريد دمجه مع لون النص ، انظر لقطة الشاشة:

4. ثم انقر فوق OK، ظهر مربع حوار آخر ، يرجى تحديد الخلايا التي تريد إخراج النتائج المدمجة فيها ، انظر الصورة:

5. ثم اضغط OK الزر ، فقد تم تجميع الأعمدة دون فقد لون النص كما هو موضح في لقطة الشاشة التالية:

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


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2019 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

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

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (9)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا الرمز يعمل بشكل جيد. لكن كيف أضيف مسافة قبل النص أو بعده؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
تعمل هذه الطرق بشكل جيد ، حتى يصبح xRgLen أعلى من 255.
يبدو أن هذه المعلمة هي بايت :-(
كيف يمكن تجاوز هذا القيد؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Fantástica la macro de concatenar cadena de texto preservando formato de origen. En mi caso no funcionaba con F5، pero en la pestaña macro، modificar y opciones me permite entrar el modo de ejecucion con CTRL + letra y funciona de maravilla. موتشا جراسياس.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Habría manera de hacerlo con números؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا على الكود.
إذا كان النص يحتوي على "()" ، على سبيل المثال "tomate (tomates)". إنه لا يعمل كذلك. هل هناك شيء لتعديله للعمل مع "()"؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا راه ،
كيف حالك؟ إذا كان النص يحتوي على "()" ، فلن نحتاج إلى تغيير رمز VBA. يرجى الاطلاع على لقطة الشاشة ، يمكن دمج النص "طماطم (طماطم)" بنجاح مع أعمدة الخلايا الأخرى في عمود واحد. أتمنى أن يساعدك.
مع خالص الشكر والتقدير،
ماندي
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا على الكود!
هل يمكن تحديث عمود التسلسل تلقائيًا إذا حدث أي تغيير؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا كاثي
عذرًا ، في الوقت الحالي ، لا توجد طريقة جيدة للقيام بذلك ، تحتاج إلى تشغيل الكود مرة أخرى بعد تغيير محتوى الخلية. 😂
شكرا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
حسنًا ، شكرًا على ردك
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة