สารบัญ
หากคุณกำลังมองหาวิธีการ แทนที่ข้อความในสตริง โดยใช้ Excel VBA คุณจะพบว่าบทความนี้มีประโยชน์ การแทนที่ข้อความบางส่วนอาจช่วยประหยัดเวลาได้มากในการพิมพ์สตริงข้อความอีกครั้ง ดังนั้น เรามาเข้าสู่บทความหลักเพื่อดูรายละเอียดเกี่ยวกับงานแทนที่นี้
ดาวน์โหลดสมุดงาน
แทนที่ข้อความใน String.xlsm
5 วิธีในการแทนที่ข้อความในสตริงโดยใช้ Excel VBA
ที่นี่ เรามีชุดข้อมูลต่อไปนี้ที่มีบันทึกของพนักงานพร้อมรหัสอีเมลของพวกเขา งานของเราคือแทนที่ชื่อโดเมนเก่าด้วยชื่อใหม่ ในวิธีการต่อไปนี้ เราจะทำงานกับชุดข้อมูลนี้พร้อมกับสตริงข้อความแบบสุ่มเพื่อแทนที่ข้อความที่ต้องการด้วยรหัส VBA
เราใช้ เวอร์ชัน Microsoft Excel 365 ที่นี่ คุณสามารถใช้เวอร์ชันอื่นได้ตามความสะดวกของคุณ
วิธีการ-01: แทนที่ข้อความที่เริ่มต้นจากตำแหน่งที่ n ของสตริงสุ่ม
ที่นี่ เราจะแทนที่ข้อความในสตริงข้อความแบบสุ่มสำหรับตำแหน่งเริ่มต้นที่แตกต่างกัน
ขั้นตอนที่ 01 :
➤ ไปที่แท็บ นักพัฒนาซอฟต์แวร์ >> โค้ด กลุ่ม >> Visual Basic ตัวเลือก
จากนั้น Visual Basic Editor จะเปิดขึ้น
➤ ไปที่ แทรก แท็บ >> โมดูล ตัวเลือก
หลังจากนั้น โมดูล จะถูกสร้างขึ้น
ขั้นตอนที่ 02 :
➤ เขียนต่อไปนี้รหัส
9697
ที่นี่ เราได้ประกาศ full_txt_str และ updated_str เป็น String แล้วกำหนด full_txt_str ให้กับข้อความแบบสุ่ม string- “ร้อยคัน ห้าสิบคัน สิบคัน” จากนั้น VBA ฟังก์ชัน REPLACE จะถูกใช้เพื่อแทนที่ รถยนต์ ส่วนหนึ่งของสตริงสุ่มนี้ด้วย จักรยาน<10 และ 1 ถูกใช้ที่นี่เพื่อเริ่มการแทนที่จากตำแหน่ง 1 ของสตริงนี้ สุดท้าย เราได้กำหนดสตริงข้อความใหม่นี้ให้กับ updated_str และด้วยกล่องข้อความ ( MsgBox ) เราจะเห็นผลลัพธ์
➤ กด F5 .
จากนั้น กล่องข้อความ จะปรากฏขึ้นพร้อมกับสตริงข้อความใหม่ที่มีข้อความแทนที่ จักรยาน .
➤ หากต้องการดำเนินการเปลี่ยนจากอินสแตนซ์ที่สองของ รถยนต์ ใช้รหัสต่อไปนี้
2674
ในที่นี้ เราใช้ตำแหน่งเริ่มต้นเป็น 14 เนื่องจากเราต้องการให้ส่วนของสตริงอยู่หลัง Hundred Cars และแทนที่ <1 รถยนต์ ที่นี่
➤ หลังจาก รัน รหัส เราจะมี กล่องข้อความต่อไปนี้ ด้วย สตริงข้อความ เริ่มต้นจากข้อความ ห้าสิบ และด้วย จักรยาน ในตำแหน่ง รถยนต์ .
➤ สำหรับการมีเพียงส่วนสุดท้ายของสตริงนี้ เราจึงใช้โค้ดต่อไปนี้
8671
ที่นี่ เราใช้ตำแหน่งเริ่มต้นเป็น 25 เนื่องจากเราต้องการให้ส่วนของสตริงต่อจาก Fifty Cars และแทนที่ Cars ด้วย Bicycles ที่นี่
สุดท้าย เราจะมี กล่องข้อความ พร้อมกับส่วนที่ต้องการของสตริงที่มีการแทนที่ด้วย จักรยาน .
อ่านเพิ่มเติม: Excel VBA: แทนที่อักขระในสตริงตามตำแหน่ง (4 วิธีที่มีประสิทธิภาพ)
วิธีการ-02: แทนที่ข้อความสำหรับการเกิดขึ้นครั้งที่ n ของสตริงสุ่มโดยใช้ Excel VBA
ในส่วนนี้ เราจะแทนที่ข้อความในสตริงสุ่มสำหรับจำนวนเหตุการณ์ต่างๆ ที่เกิดขึ้นด้วยความช่วยเหลือ ของ VBA โค้ด
ขั้นตอน :
➤ ทำตาม ขั้นตอนที่-01 ของ วิธีการ-1 .
➤ พิมพ์โค้ดต่อไปนี้
6294
ที่นี่ เราได้ประกาศ full_txt_str และ updated_str เป็น String จากนั้นกำหนด full_txt_str ให้กับสตริงข้อความแบบสุ่ม- “Hundred Cars Fifty Cars Ten Cars” หลังจากนั้น ฟังก์ชัน REPLACE จะถูกใช้เพื่อแทนที่ รถยนต์ ส่วนหนึ่งของสตริงสุ่มนี้ด้วย จักรยาน , 1 ถูกใช้ที่นี่เพื่อเริ่มการแทนที่จากตำแหน่ง 1 ของสตริงนี้ และสุดท้าย 1 คือ สำหรับการนับจำนวนครั้ง โดยใช้ 1 เป็นจำนวนนับ เรากำลังกำหนดการเปลี่ยนรถยนต์ คันแรก เท่านั้น สุดท้าย เราได้กำหนดสตริงข้อความใหม่นี้เป็น updated_str และด้วย aกล่องข้อความ ( MsgBox ) เราจะเห็นผลลัพธ์
➤ กด F5 .
หลังจากนั้น กล่องข้อความ จะปรากฏขึ้นพร้อมกับข้อความใหม่ จักรยาน ใน ตำแหน่งแรก ของ รถยนต์ เท่านั้น
➤ สำหรับการแทนที่สองตัวอย่างแรกของ รถยนต์ ด้วย จักรยาน ใช้รหัสต่อไปนี้
6417
ที่นี่ 2 ใช้เป็นจำนวนนับเพื่อแทนที่สองรายการแรกของ รถยนต์ กับ จักรยาน .
หลังจากเรียกใช้โค้ด คุณจะต้องแทนที่ข้อความสองข้อความแรก รถยนต์ กับ จักรยาน .
➤ ใช้รหัสต่อไปนี้เพื่อแทนที่อินสแตนซ์ทั้งหมด ของข้อความ รถยนต์ .
3158
ที่นี่ อาร์กิวเมนต์สุดท้ายของฟังก์ชัน REPLACE คือ 3 ซึ่งก็คือ นับจำนวนที่ระบุการเปลี่ยน รถยนต์ ทั้งหมดด้วย จักรยาน ในสตริงข้อความ
➤ กด F5 .
หลังจากนั้น เราจะ มี กล่องข้อความ ต่อไปนี้ โดยมีข้อความแทนที่ จักรยาน ในสตริง
การอ่านที่คล้ายกัน
- วิธีแทนที่ข้อความด้วยการขึ้นบรรทัดใหม่ใน Excel (4 วิธีที่ราบรื่น)
- Excel VBA: วิธีค้นหาและ แทนที่ข้อความในเอกสาร Word
- วิธีแทนที่ข้อความหลังจากอักขระเฉพาะใน Excel (3 วิธี)
- แทนที่ข้อความของเซลล์ตามเงื่อนไขใน Excel (5 วิธีง่ายๆ)
วิธีที่ 03: แทนที่ข้อความในสตริงสุ่มด้วย InputBox
ที่นี่ เราจะแทนที่ข้อความบางข้อความของ สตริงสุ่มที่มีข้อความซึ่งจะกำหนดโดยผู้ใช้ด้วยความช่วยเหลือของ ฟังก์ชัน VBA InputBox .
ขั้นตอน :<3
➤ ทำตาม ขั้นตอนที่-01 ของ วิธีที่ 1 .
➤ พิมพ์โค้ดต่อไปนี้
6643
ที่นี่ เราได้ประกาศ full_txt_str , new_txt และ updated_str เป็น String จากนั้นกำหนด full_txt_str ให้กับสตริงข้อความแบบสุ่ม- “ร้อยคัน ห้าสิบคัน สิบคัน” . เพื่อให้อินพุตที่ผู้ใช้กำหนดเป็นข้อความที่จะแทนที่ด้วย รถยนต์ ในสตริงสุ่ม เราได้ใช้ ฟังก์ชัน InputBox แล้วกำหนดค่านี้ เป็น new_txt จากนั้น ฟังก์ชัน REPLACE จะถูกใช้เพื่อแทนที่ส่วน รถยนต์ ของสตริงสุ่มนี้ด้วย new_txt สุดท้าย เราได้กำหนดสตริงข้อความใหม่นี้ให้กับ updated_str และด้วยกล่องข้อความ ( MsgBox ) เราจะเห็นผลลัพธ์
➤ กด F5 .
หลังจากนั้น กล่องใส่ข้อมูล จะปรากฏขึ้นซึ่งคุณสามารถป้อนส่วนข้อความที่คุณต้องการให้มีในสตริงใหม่
➤ พิมพ์ จักรยาน หรือข้อความอื่นๆ ที่คุณต้องการ จากนั้นกด ตกลง .
สุดท้าย คุณจะ มีผลลัพธ์ต่อไปนี้พร้อมสตริงข้อความใหม่ที่มีข้อความใหม่ จักรยาน ในตำแหน่งของ รถยนต์ .
อ่านเพิ่มเติม: วิธีแทนที่ข้อความในสูตร Excel (7 วิธีง่ายๆ)
วิธีการ-04: แทนที่ข้อความในช่วงของสตริงด้วย Excel VBA
ที่นี่ เราจะแทนที่ gmail ส่วนหนึ่งของ รหัสอีเมลที่มีโดเมนในคอลัมน์ โดเมนใหม่ และเพื่อรวบรวมรหัสอีเมลใหม่ เราได้แทรกคอลัมน์ใหม่ รหัสอีเมลสุดท้าย .
ขั้นตอน :
➤ ติดตาม ขั้นตอนที่ 01 ของ Method-1 .
➤ พิมพ์โค้ดต่อไปนี้
3323
ที่นี่ เราใช้ FOR loop เพื่อดำเนินการจาก แถว 4 ถึง แถว 13 ด้วยความช่วยเหลือของคำสั่ง IF-THEN เราได้ตรวจสอบว่ารหัสอีเมลของ คอลัมน์ D มี “gmail” <10 หรือไม่ และเพื่อให้เป็นไปตามเกณฑ์นี้ “gmail” ส่วนของรหัสอีเมลจะถูกแทนที่ด้วยโดเมนใหม่ของ คอลัมน์ E เพื่อสร้างรหัสใหม่ใน คอลัมน์ F มิฉะนั้น คุณจะมีช่องว่างในเซลล์ที่เกี่ยวข้องของ คอลัมน์ F .
➤ กด F5
จากนั้น คุณจะมีรหัสอีเมลใหม่ในคอลัมน์ รหัสอีเมลสุดท้าย
อ่านเพิ่มเติม: Excel VBA เพื่อค้นหาและแทนที่ข้อความในคอลัมน์ (2 ตัวอย่าง)
วิธีการที่ 05: แทนที่ข้อความในช่วงของสตริงด้วยการป้อนข้อมูลของผู้ใช้เพื่อค้นหาข้อความ
คุณสามารถแทนที่ ต่อไปนี้รหัสอีเมลด้วยโดเมนใหม่และประกาศสิ่งที่จะแทนที่ใน id ก่อนหน้า ข้อมูลที่ผู้ใช้สามารถใช้ได้โดยทำตามวิธีนี้
ขั้นตอน :
➤ ทำตาม ขั้นตอนที่-01 ของ วิธีการ-1 .
➤ พิมพ์โค้ดต่อไปนี้
4964
ที่นี่ เราได้กำหนด partial_text เป็น String จากนั้นกำหนดให้เป็นสตริงที่ผู้ใช้กำหนดผ่าน Input Box .
หลังจากนั้น เราใช้ FOR วนซ้ำ เพื่อดำเนินการจาก แถวที่ 4 ถึง แถวที่ 13 และใช้ คำสั่ง IF-THEN เราตรวจสอบว่ารหัสอีเมลของ คอลัมน์ D มี “gmail” หรือ ไม่. และเพื่อให้เป็นไปตามเกณฑ์นี้ “gmail” ส่วนของรหัสอีเมลจะถูกแทนที่ด้วยโดเมนใหม่ของ คอลัมน์ E เพื่อสร้าง รหัสใหม่ใน คอลัมน์ F มิฉะนั้น คุณจะมีช่องว่างในเซลล์ที่เกี่ยวข้องของ คอลัมน์ F .
➤ กด F5 .
หลังจากนั้น คุณจะมี ช่องป้อนข้อมูล ซึ่งคุณจะต้องพิมพ์ข้อความที่คุณต้องการค้นหาในช่วงของรหัสอีเมล (เรามี ป้อน gmail ) จากนั้นกด ตกลง .
สุดท้าย เรากำลังมีรหัสอีเมลที่อัปเดตแล้วใน สุดท้าย รหัสอีเมล คอลัมน์
อ่านเพิ่มเติม: ค้นหาและแทนที่ข้อความในช่วงด้วย Excel VBA (มาโครและฟอร์มผู้ใช้)
ส่วนการปฏิบัติ
สำหรับทำแบบฝึกโดยด้วยตัวคุณเอง เราได้จัดเตรียมส่วน แบบฝึกหัด ดังด้านล่างในชีตที่ชื่อว่า แบบฝึกหัด โปรดดำเนินการด้วยตัวเอง
สรุป
ในบทความนี้ เราพยายามครอบคลุมวิธีการแทนที่ข้อความในสตริงโดยใช้ Excel VBA . หวังว่าคุณจะพบว่ามีประโยชน์ หากคุณมีข้อเสนอแนะหรือคำถามใดๆ โปรดแบ่งปันในส่วนความคิดเห็น