كيفية تحويل سلسلة إلى طويلة في vba (مع أمثلة)


يمكنك استخدام الدالة CLng في VBA لتحويل سلسلة نصية إلى نوع بيانات طويل.

فيما يلي طريقتان شائعتان لاستخدام هذه الميزة عمليًا:

الطريقة الأولى: تحويل السلسلة إلى طويلة في VBA

 Sub ConvertStringToLong ()

    Dim i As Integer

    For i = 2 To 11
        Range(" B " & i) = CLng(Range(" A " & i))
    Next i

End Sub

سيقوم هذا الماكرو المحدد بتحويل كل سلسلة في النطاق A2:A11 إلى نوع بيانات طويل ويعرض القيم الطويلة في النطاق B2:B11 .

الطريقة الثانية: تحويل سلسلة إلى طويلة في VBA (فقط إذا كانت السلسلة رقمًا)

 Sub ConvertStringToLong()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range(" A " & i)) Then
            Range(" B " & i) = CLng(Range(" A " & i))
        Else
            Range(" B " & i) = 0
        End If
    Next i

End Sub

سيقوم هذا الماكرو المحدد بتحويل كل سلسلة في النطاق A2:A11 إلى نوع بيانات طويل فقط إذا كانت السلسلة رقمًا. وإلا، سيتم تحويل السلسلة إلى قيمة فارغة.

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا.

مثال 1: تحويل سلسلة إلى طويلة في VBA

لنفترض أن لدينا عمود القيم التالي في Excel، المنسق حاليًا كسلاسل نصية:

لنفترض أننا نريد تحويل كل سلسلة إلى نوع بيانات طويل وعرضه في العمود B.

يمكننا إنشاء الماكرو التالي للقيام بذلك:

 Sub ConvertStringToLong ()

    Dim i As Integer

    For i = 2 To 11
        Range(" B " & i) = CLng(Range(" A " & i))
    Next i

End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

VBA تحويل السلسلة إلى طويلة

لاحظ أنه تم تحويل كل سلسلة نصية في العمود A إلى نوع بيانات طويل ويتم عرضها في العمود B.

المثال 2: تحويل سلسلة إلى طويلة في VBA (فقط إذا كانت السلسلة رقمًا)

لنفترض أن لدينا عمود القيم التالي في Excel، المنسق حاليًا كسلاسل نصية:

لنفترض أننا نريد تحويل كل سلسلة إلى نوع بيانات طويل فقط إذا كانت السلسلة رقمًا ونعرضها في العمود B.

يمكننا إنشاء الماكرو التالي للقيام بذلك:

 Sub ConvertStringToLong()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range(" A " & i)) Then
            Range(" B " & i) = CLng(Range(" A " & i))
        Else
            Range(" B " & i) = 0
        End If
    Next i

End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

لاحظ أنه يتم تحويل السلاسل النصية الموجودة في العمود A والتي تكون أرقامًا فقط إلى أنواع بيانات طويلة في العمود B.

وبخلاف ذلك، يتم تحويل السلاسل النصية ببساطة إلى قيمة فارغة.

ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة VBA CLng هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:

فبا: كيفية إزالة المسافات من سلسلة
فبا: كيفية حساب تكرارات الأحرف في سلسلة
VBA: كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة أخرى

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *