Vba: วิธีแยกข้อความระหว่างอักขระสองตัว
คุณสามารถสร้างฟังก์ชันแบบกำหนดเองต่อไปนี้ใน VBA เพื่อแยกข้อความระหว่างอักขระเฉพาะสองตัว:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
จากนั้นคุณสามารถใช้ฟังก์ชันนี้เพื่อแยกข้อความระหว่างอักขระสองตัวที่ระบุให้เป็นอักขระเฉพาะใน Excel
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่าง: การใช้ VBA เพื่อแยกข้อความระหว่างอักขระสองตัว
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ซึ่งมีค่า ID และยอดขายรวมของผลิตภัณฑ์ต่างๆ ในบริษัท:

สมมติว่าเราต้องการใช้ VBA เพื่อแยกข้อความในวงเล็บสำหรับแต่ละเซลล์ในคอลัมน์ A และส่งกลับผลลัพธ์ในคอลัมน์ C
เราสามารถสร้างฟังก์ชันต่อไปนี้เพื่อทำสิ่งนี้:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
จากนั้นเราสามารถพิมพ์สูตรต่อไปนี้ในเซลล์ C2 เพื่อแยกข้อความในวงเล็บสำหรับข้อความในเซลล์ A2 :
=ExtractBetween( A2 , "(", ")")
จากนั้นเราสามารถคลิกและลากสูตรนี้ไปยังแต่ละเซลล์ที่เหลือในคอลัมน์ C:

ตอนนี้คอลัมน์ C จะแสดงข้อความในวงเล็บสำหรับแต่ละเซลล์ที่ตรงกันในคอลัมน์ A
หมายเหตุ : สูตรนี้ทำงานโดยใช้ฟังก์ชัน Instr ใน VBA เพื่อแยกตำแหน่งของอักขระเริ่มต้นและสิ้นสุดที่ต้องการ จากนั้นใช้ฟังก์ชัน Mid เพื่อส่งกลับข้อความทั้งหมดที่อยู่ระหว่างอักขระสองตัวนั้น
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ โดยใช้ VBA:
VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่
VBA: วิธีนับเซลล์ด้วยข้อความเฉพาะ