Vba: วิธีแยกสตริงตามตัวคั่นหลายตัว


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อแยกสตริงตามตัวคั่นหลายตัวใน VBA:

 SubSplitString ()

    Dim SingleValue() As String
    Dim i As Integer
    Dim j As Integer

    For i = 2 To 7
    newString = Replace(Range(" A " & i), " - ", " ")
    SingleValue = Split(newString, " ")
    
       For j = 1 To 3
           Cells(i, j + 1).Value = SingleValue(j - 1)
       Next j
       
    Next i
    
End Sub

ตัวอย่างนี้จะแบ่งแต่ละสตริงในช่วง A2:A7 ตามเครื่องหมายยัติภังค์หรือช่องว่างในแต่ละสตริง จากนั้นกำหนดองค์ประกอบผลลัพธ์ของแต่ละสตริงให้กับเซลล์ที่อยู่ติดกันในคอลัมน์ B, C และ D

หมายเหตุ : มาโครนี้จะแทนที่ยัติภังค์แต่ละตัวด้วยการเว้นวรรค จากนั้นแยกแต่ละสตริงตามตำแหน่งของช่องว่าง

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

ตัวอย่าง: แยกสตริงตามตัวคั่นหลายตัวใน VBA

สมมติว่าเรามีรายชื่อต่อไปนี้ใน Excel:

สมมติว่าเราต้องการแยกแต่ละชื่อตามยัติภังค์หรือช่องว่าง จากนั้นกำหนดองค์ประกอบผลลัพธ์ของแต่ละสตริงให้กับเซลล์ใหม่

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

 SubSplitString ()

    Dim SingleValue() As String
    Dim i As Integer
    Dim j As Integer

    For i = 2 To 7
    newString = Replace(Range(" A " & i), " - ", " ")
    SingleValue = Split(newString, " ")
    
       For j = 1 To 3
           Cells(i, j + 1).Value = SingleValue(j - 1)
       Next j
       
    Next i
    
End Sub

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

สตริงแยก VBA ตามตัวคั่นหลายตัว

โปรดทราบว่ามาโครนี้จะแยกแต่ละสตริงในคอลัมน์ A ตามช่องว่างและยัติภังค์ และแสดงองค์ประกอบข้อความแต่ละรายการของแต่ละสตริงในคอลัมน์ B, C และ D

หมายเหตุ #1: เรากำลังแยกสตริงตามยัติภังค์และช่องว่างในตัวอย่างนี้ แต่คุณสามารถแยกสตริงตามตัวคั่นใดๆ ที่คุณต้องการโดยระบุในฟังก์ชัน แทนที่ และ แยก

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

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

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

VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่
VBA: วิธีนับเซลล์ด้วยข้อความเฉพาะ

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

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