วิธีใช้การทดแทนใน vba (พร้อมตัวอย่าง)
คุณสามารถใช้เมธอด Substitute() ใน VBA เพื่อแทนที่ข้อความที่ระบุในสตริงด้วยข้อความใหม่ทั้งหมด
วิธีนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
สิ่งทดแทน (ข้อความ, Old_text, New_text, Instance_num)
ทอง:
- ข้อความ : ข้อความที่คุณต้องการแทนที่อักขระ
- Old_text : ข้อความที่จะแทนที่
- New_text : ข้อความที่จะใช้แทน
- Instance_num ( ตัวเลือก ) : อินสแตนซ์ใดของข้อความเก่าที่จะแทนที่ หากไม่มีการระบุ ข้อความเก่าทั้งหมดจะถูกแทนที่
ตัวอย่างต่อไปนี้แสดงวิธีการใช้วิธีนี้ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้การทดแทนใน VBA
สมมติว่าเรามีรายการนิพจน์ต่อไปนี้ใน Excel:
สมมติว่าเราต้องการแทนที่ทุกช่องว่างในทุกเซลล์ด้วยเครื่องหมายจุลภาค
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", ",")
Next
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดทราบว่าทุกช่องว่างในทุกเซลล์ในคอลัมน์ A ถูกแทนที่ด้วยลูกน้ำ
โปรดทราบว่าเราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแทนที่แต่ละช่องว่างด้วยสิ่งใดๆ ได้:
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", "")
Next
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดสังเกตว่าทุกช่องว่างในทุกเซลล์ในคอลัมน์ A ถูกแทนที่ด้วยสิ่งใดเลย
กล่าวอีกนัยหนึ่ง เราได้ลบช่องว่างแต่ละช่องออกจากแต่ละเซลล์ในคอลัมน์ A
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี การทดแทน VBA ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ โดยใช้ VBA:
VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่
VBA: วิธีนับเซลล์ด้วยข้อความเฉพาะ