انتقل إلى المحتوى الرئيسي

 كيفية تحويل سلسلة نصية إلى حالة مناسبة مع استثناءات في إكسيل؟

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

تحويل السلاسل النصية إلى حالة الأحرف المناسبة مع استثناءات باستخدام الصيغة

تحويل السلاسل النصية إلى حالة الأحرف المناسبة مع استثناءات باستخدام التعليمات البرمجية لـ VBA


تحويل السلاسل النصية إلى حالة الأحرف المناسبة مع استثناءات باستخدام الصيغة

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

أدخل هذه الصيغة:

= UPPER (LEFT (A2)) & MID (TRIM (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE ("" & PROPER (A2) & "" ، "Of" ، "من") ، "A" ، "a") ، "Is "،" is ")،" USA "،" USA "))، 2، LEN (A2)) في خلية حيث تريد الحصول على النتيجة ، ثم اسحب مقبض التعبئة لملء هذه الصيغة ، وتم تحويل السلاسل النصية بحالة مناسبة ولكن استثناءات محددة ، انظر لقطة الشاشة:

ملاحظات: في الصيغة أعلاه ، A2 هي الخلية التي تريد تحويلها ، "Of" ، "A" ، "Is" ، "USA" هي كلمات الحالة الصحيحة العادية بعد التحويل ، "من" ، "a" ، "is" ، "USA" هي الكلمات التي تريد استبعادها من الحالة المناسبة. يمكنك تغييرها حسب حاجتك أو إضافة كلمات أخرى باستخدام وظيفة الاستبدال.


تحويل السلاسل النصية إلى حالة الأحرف المناسبة مع استثناءات باستخدام التعليمات البرمجية لـ VBA

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

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

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

كود فبا: تحويل السلاسل النصية إلى الحالة المناسبة مع استثناءات:

Sub CellsValueChange()
'Updateby Extendoffice
    Dim xSRg As Range
    Dim xDRg As Range
    Dim xPRg As Range
    Dim xSRgArea As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim I As Long
    Dim K As Long
    Dim KK As Long
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xSRg = Application.InputBox("Original cells:", "KuTools For Excel", xAddress, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    Set xDRg = Application.InputBox("Output cells:", "KuTools For Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    Set xPRg = Application.InputBox("Cells to exclude:", "KuTools For Excel", , , , , , 8)
    If xPRg Is Nothing Then Exit Sub
    Set xDRg = xDRg(1)
    For I = 1 To xSRg.Areas.Count
        Set xSRgArea = xSRg.Areas.Item(I)
        For K = 1 To xSRgArea.Count
            xRgVal = xSRgArea(K).Value
            If Not IsNumeric(xRgVal) Then
                xRgVal = CorrectCase(xRgVal, xPRg)
                xDRg.Offset(KK).Value = xRgVal
            End If
            KK = KK + 1
        Next
    Next
End Sub
Function CorrectCase(ByVal xRgVal As String, ByVal xPRg As Range) As String
    Dim xArrWords As Variant
    Dim I As Integer
    Dim xPointer As Integer
    Dim xVal As String
    xPointer = 1
    xVal = xRgVal
    xArrWords = WordsOf(xRgVal)
    For I = 0 To UBound(xArrWords)
        xPointer = InStr(xPointer, " " & xVal, " " & xArrWords(I))
        Debug.Print xPointer
        Mid(xVal, xPointer) = CorrectCaseOneWord(CStr(xArrWords(I)), xPRg)
    Next I
    CorrectCase = xVal
End Function
Function WordsOf(xRgVal As String) As Variant
    Dim xDelimiters As Variant
    Dim xArrRtn As Variant
    xDelimiters = Array(",", ".", ";", ":", Chr(34), vbCr, vbLf)
    For Each xEachDelimiter In xDelimiters
        xRgVal = Application.WorksheetFunction.Substitute(xRgVal, xEachDelimiter, " ")
    Next xEachDelimiter
    xArrRtn = Split(Trim(xRgVal), " ")
    WordsOf = xArrRtn
End Function
Function CorrectCaseOneWord(xArrWord As String, xERg As Range) As String
    With xERg
        If IsError(Application.Match(xArrWord, .Cells, 0)) Then
            CorrectCaseOneWord = Application.Proper(xArrWord)
        Else
            CorrectCaseOneWord = Application.VLookup(xArrWord, .Cells, 1, 0)
        End If
    End With
End Function

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

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

5. اذهب عند النقر OK، وفي مربع الحوار المنبثق ، حدد النصوص التي تريد استبعادها ، انظر لقطة الشاشة:

6. ثم انقر فوق OK للخروج من مربعات الحوار ، وتم تحويل جميع السلاسل النصية إلى الحالة المناسبة ولكن مع استبعاد الكلمات المحددة ، انظر الصورة:

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

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

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

الوصف


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

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This would be amazing if only the Macro excluded the part of the sting in CAPS not the entire cell from the exceptions list.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations