วิธีใช้ค้นหาและแทนที่ใน vba (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีการต่อไปนี้เพื่อค้นหาและแทนที่สตริงเฉพาะในช่วงโดยใช้ VBA:

วิธีที่ 1: ค้นหาและแทนที่สตริง (ไม่คำนึงถึงขนาดตัวพิมพ์)

 Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks "
End Sub

มาโครนี้จะแทนที่ “Mavs” ทุกรายการด้วย “Mavericks” ในช่วง A1:B10

วิธีที่ 2: ค้นหาและแทนที่สตริง (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)

 Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks ", MatchCase:= True
End Sub

มาโครเฉพาะนี้จะแทนที่ “Mavs” ทุกรายการด้วย “Mavericks” ในช่วง A1:B10 เฉพาะในกรณีที่ตรงกับตัวพิมพ์เท่านั้น

ตัวอย่างเช่น สตริง “mavs” จะไม่ถูกแทนที่ เนื่องจากไม่ตรงกับตัวพิมพ์ของ “Mavs” อย่างแม่นยำ

ตัวอย่างต่อไปนี้แสดงวิธีการใช้วิธีนี้ในทางปฏิบัติกับชุดข้อมูลต่อไปนี้ใน Excel:

ตัวอย่างที่ 1: ค้นหาและแทนที่สตริงโดยใช้ VBA (ไม่คำนึงถึงขนาดตัวพิมพ์)

สมมติว่าเราต้องการแทนที่ “Mavs” ทุกรายการด้วย “Mavericks” ในช่วง A1:B10

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks "
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าทุกรายการของ “Mavs” จะถูกแทนที่ด้วยสตริง “Mavericks” ในคอลัมน์ทีม

ตัวอย่างที่ 2: ค้นหาและแทนที่สตริงโดยใช้ VBA (คำนึงถึงขนาดตัวพิมพ์)

สมมติว่าเราต้องการแทนที่ “Mavs” แต่ละรายการด้วย “Mavericks” ในช่วง A1:B10 เฉพาะในกรณีที่ตรงกับกรณี

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 Sub FindReplace()
Range(" A1:B10 ").Replace What:=" Mavs ", Replacement:=" Mavericks ", MatchCase:= True
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าการเปลี่ยนนี้จะ คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

ซึ่งหมายความว่าแต่ละเหตุการณ์ของ “Mavs” จะถูกแทนที่ แต่แต่ละเหตุการณ์ของ “mavs” จะถูกทิ้งไว้ตามลำพัง

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ โดยใช้ VBA:

VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่
VBA: วิธีนับเซลล์ด้วยข้อความเฉพาะ

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

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