วิธีใช้การทดแทนใน 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: วิธีนับเซลล์ด้วยข้อความเฉพาะ

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

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