Vba: วิธีแปลงข้อความเป็นคอลัมน์
คุณสามารถใช้เมธอด Range.TextToColumns ใน VBA เพื่อแปลงเซลล์ข้อความเป็นคอลัมน์ได้
ตัวอย่างต่อไปนี้แสดงวิธีการใช้วิธีนี้ในทางปฏิบัติในสถานการณ์ต่างๆ
ตัวอย่างที่ 1: แปลงข้อความเป็นคอลัมน์ (เว้นวรรคเป็นตัวคั่น)
สมมติว่าเรามีรายชื่อต่อไปนี้ในช่วง A1:A9 ใน Excel:
เราสามารถสร้างแมโครต่อไปนี้เพื่อแปลงข้อความในแต่ละเซลล์ให้เป็นคอลัมน์แยกกัน โดยใช้ช่องว่างเป็นตัวคั่น:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดสังเกตว่าข้อความในแต่ละเซลล์ถูกแปลงเป็นคอลัมน์ที่แยกจากกัน
หมายเหตุ : อาร์กิวเมนต์ ConsecutiveDelimiter:=True จะบอก VBA ให้พิจารณาตัวคั่นที่ต่อเนื่องกันเป็นตัวคั่นตัวเดียว
ตัวอย่างที่ 2: แปลงข้อความเป็นคอลัมน์ (เครื่องหมายจุลภาคเป็นตัวคั่น)
สมมติว่าเรามีรายชื่อในช่วง A1:A9 คั่นด้วยเครื่องหมายจุลภาคดังต่อไปนี้:
เราสามารถสร้างแมโครต่อไปนี้เพื่อแปลงข้อความในแต่ละเซลล์ให้เป็นคอลัมน์แยกกัน โดยใช้เครื่องหมายจุลภาคเป็นตัวคั่น:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
ConsecutiveDelimiter:=True, _
Comma:=True
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดสังเกตว่าข้อความในแต่ละเซลล์ถูกแปลงเป็นคอลัมน์ที่แยกจากกัน
ตัวอย่างที่ 3: แปลงข้อความเป็นคอลัมน์ (โดยมีข้อความอยู่ในเครื่องหมายคำพูดคู่)
สมมติว่าเรามีรายชื่อในช่วง A1:A9 คั่นด้วยช่องว่างและรวมเครื่องหมายคำพูดคู่ด้วย:
เราสามารถสร้างแมโครต่อไปนี้เพื่อแปลงข้อความในแต่ละเซลล์ให้เป็นคอลัมน์แยกกัน:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดสังเกตว่าข้อความในแต่ละเซลล์ถูกแปลงเป็นคอลัมน์ที่แยกจากกัน
โปรดทราบว่าเราใช้อาร์กิวเมนต์ TextQualifier:=xlDoubleQuote เพื่อบอก VBA ว่าข้อความล้อมรอบด้วยเครื่องหมายคำพูดคู่
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของเมธอด TextToColumns ใน VBA ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ โดยใช้ VBA:
VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่
VBA: วิธีนับเซลล์ด้วยข้อความเฉพาะ