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


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

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

วิธีที่ 1: แปลงสตริงเป็นจำนวนเต็มใน VBA

 Sub ConvertStringToInteger()

    Dim i As Integer

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

End Sub

มาโครนี้จะแปลงแต่ละสตริงในช่วง A2:A11 เป็นจำนวนเต็ม และแสดงจำนวนเต็มในช่วง B2:B11

วิธีที่ 2: แปลงสตริงเป็นจำนวนเต็มใน VBA (เฉพาะในกรณีที่สตริงเป็นตัวเลข)

 Sub ConvertStringToInteger()

    Dim i As Integer

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

End Sub

มาโครเฉพาะนี้จะแปลงแต่ละสตริงในช่วง A2:A11 เป็นจำนวนเต็มหากสตริงนั้นเป็นตัวเลขเท่านั้น มิฉะนั้น สตริงจะถูกแปลงเป็นค่าว่าง

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ

ตัวอย่างที่ 1: แปลงสตริงเป็นจำนวนเต็มใน VBA

สมมติว่าเรามีคอลัมน์ค่าต่อไปนี้ใน Excel ซึ่งปัจจุบันจัดรูปแบบเป็นสตริงข้อความ:

สมมติว่าเราต้องการแปลงแต่ละสตริงให้เป็นจำนวนเต็มและแสดงจำนวนเต็มในคอลัมน์ B

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 Sub ConvertStringToInteger()

    Dim i As Integer

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

End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าแต่ละสตริงข้อความในคอลัมน์ A ได้ถูกแปลงเป็นจำนวนเต็มและแสดงในคอลัมน์ B

ตัวอย่างที่ 2: แปลงสตริงเป็นจำนวนเต็มใน VBA (เฉพาะในกรณีที่สตริงเป็นตัวเลข)

สมมติว่าเรามีคอลัมน์ค่าต่อไปนี้ใน Excel ซึ่งปัจจุบันจัดรูปแบบเป็นสตริงข้อความ:

สมมติว่าเราต้องการแปลงแต่ละสตริงให้เป็นจำนวนเต็ม เฉพาะในกรณีที่สตริงนั้นเป็นตัวเลข และแสดงจำนวนเต็มในคอลัมน์ B

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 Sub ConvertStringToInteger()

    Dim i As Integer

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

End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าเฉพาะสตริงข้อความในคอลัมน์ A ที่เป็นตัวเลขเท่านั้นที่จะแปลงเป็นจำนวนเต็มในคอลัมน์ B

มิฉะนั้น สตริงข้อความจะถูกแปลงเป็นค่าว่าง

หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับฟังก์ชัน VBA Cint ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีลบช่องว่างออกจากสตริง
VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่

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

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