วิธีการแปลงสตริงเป็น long ใน vba (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน CLng ใน VBA เพื่อแปลงสตริงข้อความเป็นชนิดข้อมูลขนาดยาวได้

ต่อไปนี้เป็นสองวิธีทั่วไปในการใช้คุณลักษณะนี้ในทางปฏิบัติ:

วิธีที่ 1: แปลงสตริงเป็น Long ใน 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

วิธีที่ 2: แปลงสตริงเป็น Long ใน 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: แปลงสตริงเป็น Long ใน 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: วิธีลบช่องว่างออกจากสตริง
VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *