สารบัญ
ในบทความนี้ ฉันจะแสดงวิธีแยกสตริงเป็นอาร์เรย์ใน VBA แยก เป็นหนึ่งในฟังก์ชันที่สำคัญและใช้กันอย่างแพร่หลายที่เราใช้ใน VBA คุณจะได้เรียนรู้การแยกสตริงใน VBA ในทุกรูปแบบที่เป็นไปได้
VBA Split Function (Quick View)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
ดาวน์โหลดสมุดงานแบบฝึกหัด
แยกสตริงเป็น Array.xlsm
3 วิธีแยกสตริงเป็นอาร์เรย์ใน VBA
มามีสตริงในมือกันเถอะ “เรายื่นขอวีซ่าของสหรัฐอเมริกา แคนาดา ออสเตรเลีย และฝรั่งเศส ” .
ฉันจะแสดงให้คุณเห็นว่าคุณสามารถแยกสตริงนี้เป็นอาร์เรย์ได้อย่างไรในทุกประเภทที่เป็นไปได้โดยใช้ ฟังก์ชันแยก ของ VBA .
1. ใช้ตัวคั่นใดก็ได้เพื่อแยกสตริงเป็นอาร์เรย์ใน VBA
คุณสามารถใช้สตริงใดก็ได้เป็นตัวคั่นเพื่อแยกสตริงเป็นอาร์เรย์ใน VBA .
สามารถเป็น ช่องว่าง (“ “) , ลูกน้ำ (“,”) , เครื่องหมายอัฒภาค (“:”) , อักขระตัวเดียว, สตริงอักขระหรืออะไรก็ได้
⧭ ตัวอย่างที่ 1:
มาแยกสตริงโดยใช้ ลูกน้ำ เป็น ตัวคั่น
บรรทัดของโค้ดจะเป็น:
Arr = Split(Text, ",")
โค้ด VBA ที่สมบูรณ์จะเป็น:
⧭ รหัส VBA:
6078
⧭ เอาต์พุต:
มันจะแยกสตริงออกเป็นอาร์เรย์ที่ประกอบด้วย {“เรายื่นขอวีซ่าของสหรัฐอเมริกา”, “แคนาดา”, “ออสเตรเลีย”, “ฝรั่งเศส”}.
⧭ ตัวอย่างที่ 2:
คุณยังสามารถใช้ ช่องว่าง (“ ”) เป็นตัวคั่น
บรรทัดของโค้ดจะเป็น:
Arr = Split(Text, " ")
รหัส VBA ที่สมบูรณ์จะเป็น:
⧭ รหัส VBA:
2093
⧭ เอาท์พุต:
มันจะแยกสตริงออกเป็นอาร์เรย์ที่ประกอบด้วย {“เรา”, “สมัคร”, “สำหรับ”, “the”, “visa”, “of”, “U.S,”, “Canada,” “Australia,”, “France,”}
⧭ สิ่งที่ควรจำ:
- ตัวคั่นเริ่มต้นคือ ช่องว่าง (“ ”)
- นั่นคือ หากคุณไม่ใส่ตัวคั่นใดๆ ก็จะใช้ ช่องว่าง เป็นตัวคั่น
อ่านเพิ่มเติม: แยกสตริงตามอักขระใน Excel (6 วิธีที่เหมาะสม)
การอ่านที่คล้ายกัน:
- แยกข้อความออกเป็นหลายข้อความ เซลล์ใน Excel
- VBA เพื่อรับค่าที่ไม่ซ้ำจากคอลัมน์ไปยังอาร์เรย์ใน Excel (3 เกณฑ์)
- Excel VBA: วิธีกรองด้วยหลายรายการ เกณฑ์ในอาร์เรย์ (7 วิธี)
2. แยกสตริงออกเป็นอาร์เรย์ด้วยจำนวนรายการเท่าใดก็ได้
คุณสามารถแบ่งสตริงเป็นอาร์เรย์ด้วยจำนวนรายการเท่าใดก็ได้ตามต้องการ
ใส่จำนวนรายการเป็น อาร์กิวเมนต์ ที่ 3 ของ แยกฟังก์ชัน .
⧭ ตัวอย่าง:
มาแยก ลงใน 3 รายการแรกที่มี ช่องว่าง เป็นตัวคั่น
บรรทัดของโค้ดจะเป็น:
Arr = Split(Text, " ", 3)
และ โค้ด VBA จะเป็น:
⧭ รหัส VBA:
2620
⧭ เอาต์พุต:
มันจะแยกสตริงออกเป็น อาร์เรย์ประกอบด้วย 3 รายการแรกคั่นด้วยตัวคั่น ช่องว่าง .
⧭ สิ่งที่ต้องจำ:
- อาร์กิวเมนต์เริ่มต้นคือ -1 .
- นั่นหมายความว่า หากคุณไม่ป้อนอาร์กิวเมนต์ อาร์กิวเมนต์จะแยก สตริงเป็นจำนวนครั้งสูงสุดที่เป็นไปได้
อ่านเพิ่มเติม: วิธีแยกสตริงตามความยาวใน Excel (8 วิธี)
3. ใช้ทั้งตัวคั่นที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เพื่อแยกสตริงอาร์เรย์ใน VBA
ฟังก์ชัน แยก ให้คุณใช้ทั้ง ตัวพิมพ์เล็กและใหญ่ และ ตัวคั่น ตัวคั่น
สำหรับตัวคั่น ตัวพิมพ์เล็ก ให้ใส่อาร์กิวเมนต์ ที่ 4 เป็น 1
และสำหรับตัวคั่น ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ ให้ใส่อาร์กิวเมนต์ ที่ 4 เป็น 0 .
⧭ ตัวอย่างที่ 1: ตัวคั่นที่ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่
ในสตริงที่กำหนด ให้พิจารณาข้อความ “FOR” เป็นตัวคั่น และ 2 เป็น จำนวนรายการทั้งหมดของอาร์เรย์
ตอนนี้ สำหรับกรณี ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ บรรทัดของโค้ดจะเป็น:
Arr = Split(Text, "FOR ", 3,1)
และ โค้ด VBA ที่สมบูรณ์จะเป็น:
⧭ รหัส VBA:
3666
⧭ เอาต์พุต:
เนื่องจากตัวคั่น ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ ที่นี่ “FOR ” จะทำงานเป็น “for” และจะแบ่งสตริงออกเป็นอาร์เรย์ของสองรายการ
⧭ ตัวอย่างที่ 2: ตัวคั่นที่คำนึงถึงตัวพิมพ์เล็กและใหญ่
อีกครั้ง สำหรับตัวพิมพ์เล็ก ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ บรรทัดของโค้ดจะเป็น:
Arr = Split(Text, "FOR ", 3,0)
และ โค้ด VBA ที่สมบูรณ์จะเป็น:
⧭ รหัส VBA:
3073
⧭ เอาต์พุต:
เนื่องจากตัวคั่นเป็น คำนึงถึงตัวพิมพ์เล็กและใหญ่ ที่นี่ “ FOR” จะไม่เป็น “for” และจะไม่แยกสตริงออกเป็นอาร์เรย์ของสองรายการ
อ่านเพิ่มเติม: Excel VBA: ลบรายการที่ซ้ำออกจากอาร์เรย์ (2 ตัวอย่าง)
⧭ สิ่งที่ต้องจำ:
- ค่าเริ่มต้นของอาร์กิวเมนต์คือ 0 .
- นั่นคือ ถ้าคุณไม่ใส่ค่าของอาร์กิวเมนต์ 4th มันจะทำงานสำหรับการจับคู่ ตรงตามตัวพิมพ์เล็กและใหญ่
บทสรุป
ดังนั้น เมื่อใช้วิธีการเหล่านี้ คุณสามารถใช้ แยกฟังก์ชัน ของ VBA เพื่อแยกสตริงออกเป็นอาร์เรย์ของรายการ คุณมีคำถามใดๆ? อย่าลังเลที่จะถามเรา