كيفية تقسيم سلسلة النصوص بسرعة حسب الحالة في Excel؟
في Excel، نقوم عادةً بتقسيم النص باستخدام العرض الثابت أو الفاصل باستخدام وظيفة Text to Columns، ولكن هل جربت تقسيم النص بناءً على الأحرف الكبيرة والصغيرة؟ على سبيل المثال، لديك قائمة من البيانات، وتحتاج إلى تقسيمها إلى عمودين بناءً على الحالة: يحتوي أحد الأعمدة على سلسلة أحرف صغيرة، ويحتوي الآخر على سلسلة أحرف كبيرة كما هو موضح في لقطة الشاشة أدناه. وظيفة Text to Columns لا تدعم هذا النوع من العمليات، ومع ذلك، يمكنني تقديم حيلة لتقسيم سلسلة النصوص بسرعة حسب الحالة في Excel.
تقسيم النص حسب الحالة باستخدام VBA
تقسيم النص إلى صفوف/أعمدة باستخدام الفاصل مع Kutools لـ Excel
تقسيم النص حسب الحالة باستخدام VBA
في Excel، يوجد فقط كود ماكرو لتقسيم السلسلة بسرعة بناءً على الأحرف الصغيرة والكبيرة.
1. اضغط على مفاتيح Alt + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق إدراج > وحدة، والصق الكود أدناه في نص الوحدة الفارغ.
VBA: تقسيم السلسلة حسب الحالة.
Sub CamelCase()
'UpdatebyExtendoffice20160711
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xCount As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
LInput:
Set xRg = Nothing
Set xRg = Application.InputBox("Select a range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Areas.Count > 1 Then
MsgBox "It not work in multiple selection", vbInformation, "Kutools for Excel"
GoTo LInput
End If
If xRg.Columns.Count > 1 Then
MsgBox "It only work in one column", vbInformation, "Kutools for Excel"
GoTo LInput
End If
On Error Resume Next
Application.ScreenUpdating = False
With CreateObject("vbscript.regexp")
.Pattern = "(\S)([A-Z]+[^A-Z])"
.Global = True
For Each xCell In xRg
xCount = .Execute(xCell).Count
If xCount Then xCell.Resize(, xCount + 1) = Split(.Replace(xCell, "$1" & Chr(1) & "$2"), Chr(1))
Next
End With
Application.ScreenUpdating = True
End Sub
3. اضغط F5 يظهر مربع حوار ينبثق لتذكيرك باختيار النصوص التي تريد تقسيمها. انظر لقطة الشاشة:
4. انقر موافق، وقد تم تقسيم النصوص المحددة إلى عمودين، أحدهما يحتوي على الأحرف الصغيرة، والآخر يحتوي على الأحرف الكبيرة.
تقسيم النص إلى صفوف/أعمدة باستخدام الفاصل مع Kutools لـ Excel
في العديد من الحالات، قد ترغب في تقسيم خلية إلى عدة صفوف أو أعمدة بناءً على حرف معين. في Excel، يمكن لوظيفة Text to Columns المدمجة مساعدتك فقط في تحويل الخلية إلى أعمدة مباشرة، لكنها لا تعمل في تحويل الصفوف. ومع ذلك، باستخدام Kutools لـ Excel - أداة مفيدة ومريحة، يمكنك استخدام وظيفة Split Cells الخاصة بها لتقسيم السلسلة بسرعة إلى صفوف أو أعمدة بناءً على فاصل أو عرض ثابت.
بعد التثبيت المجاني لـ Kutools لـ Excel، يرجى القيام بما يلي:
1. حدد الخلية التي تريد تقسيمها، ثم انقر فوق Kutools > دمج وتقسيم > تقسيم الخلايا. انظر لقطة الشاشة:
2. في تقسيم الخلايا الحوار، حدد نوع التقسيم الذي تريده في قسم النوع وانتقل إلى تحديد الفاصل المحدد الذي تريد تقسيمه بناءً عليه في قسم تقسيم حسب . انظر لقطة الشاشة:
3. انقر موافقيظهر مربع حوار ينبثق لتذكيرك باختيار خلية لوضع محتويات التقسيم. انظر لقطة الشاشة:
4. بعد الاختيار، انقر فوق موافق، وقد تم تقسيم الخلية المحددة إلى صفوف بناءً على المسافة. انظر لقطة الشاشة:
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!