Vba: วิธีลบอักขระออกจากสตริง


คุณสามารถใช้เมธอด แทนที่() ใน VBA เพื่อลบอักขระออกจากสตริงได้

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

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

สมมติว่าเราต้องการลบ “this” ออกจากแต่ละสตริง

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

 Sub RemoveChar()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(Range(" A " & i), " this ", "")
Next i
End Sub

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

คอลัมน์ B จะแสดงแต่ละสตริงในคอลัมน์ A โดยลบ “this” แต่ละรายการออก

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

นั่นคือ ทุกสิ่งที่เกิดขึ้นของ “สิ่งนี้” จะถูกลบออกไป แต่ทุกสิ่งที่เกิดขึ้นของ “สิ่งนี้” จะถูกทิ้งไว้ตามลำพัง

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

สมมติว่าเราต้องการลบ “this” (โดยไม่คำนึงถึงกรณี) ออกจากทุกสตริง

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

 SubRemoveChar ()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", "")
Next i
End Sub

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

คอลัมน์ B จะแสดงแต่ละสตริงในคอลัมน์ A โดยลบ “this” แต่ละรายการออก

โปรดทราบว่าการเปลี่ยนนี้ ไม่คำนึงถึงขนาดตัวพิมพ์

นั่นคือ ทุกเหตุการณ์ของ “สิ่งนี้” (ไม่ว่าจะใช้ตัวพิมพ์ใหญ่หรือไม่ก็ตาม) จะถูกลบออก

เราสามารถบรรลุสิ่งนี้ได้โดยใช้วิธี LCase เพื่อแปลงแต่ละสตริงในคอลัมน์ A เป็นตัวพิมพ์เล็กก่อน ก่อนที่จะค้นหา “this” ในแต่ละสตริง

ตัวอย่างที่ 3: ใช้ VBA เพื่อลบอักขระ N ตัวแรกในสตริง

สมมติว่าเราต้องการลบเฉพาะการเกิดขึ้นครั้งแรกของ “this” (โดยไม่คำนึงถึงกรณี) ออกจากแต่ละสตริง

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

 SubRemoveChar ()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", "", Count:=1)
Next i
End Sub

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

คอลัมน์ B จะแสดงแต่ละสตริงในคอลัมน์ A โดยลบเฉพาะรายการแรกของ “this” เท่านั้น

โปรดทราบว่าเราใช้ Count:=1 เพื่อลบเฉพาะสตริงที่ระบุครั้งแรก แต่คุณสามารถแทนที่ 1 ด้วยค่าใดก็ได้ที่คุณต้องการลบ แทนที่ n รายการแรกของสตริงที่ระบุ

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี การแทนที่ VBA ได้ที่นี่

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

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

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

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

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