บางครั้งเราจำเป็นต้องแก้ไขชุดข้อมูลด้วยเหตุผลบางประการ และเมื่อเราจัดการกับเวิร์กชีตและเวิร์กบุ๊กหลายๆ อัน งานนี้เป็นเรื่องยากจริงๆ ที่จะทำงานให้เสร็จ แต่ถ้าคุณรู้จักการใช้ ค้นหาและแทนที่ . ของ Excel อย่างถูกต้อง เครื่องมือและ VBA รหัสแล้วงานยากนี้จะค่อนข้างง่าย ในบทความนี้ เราจะแสดงวิธีค้นหาและแทนที่ค่าในหลายชีตและไฟล์ ใน Excel ด้วย ค้นหาและแทนที่ เครื่องมือและ มาโคร VBA .
ดาวน์โหลดสมุดงาน
คุณสามารถดาวน์โหลดเวิร์กบุ๊ก Excel แบบฝึกหัดฟรีได้จากที่นี่
3 วิธีในการค้นหาและแทนที่ค่าในแผ่นงานหลายแผ่นและสมุดงานใน Excel
ในส่วนถัดไป คุณจะได้เรียนรู้วิธีค้นหาและแทนที่ค่าบางค่าในแผ่นงานและไฟล์ Excel หลายไฟล์ ด้วย ค้นหาและแทนที่ คุณลักษณะและด้วย VBA มาโครใน Excel
1. ค้นหาและแทนที่ค่าในแผ่นงานหลายแผ่นในไฟล์ Excel
คุณสามารถค้นหาค่าบางอย่างจากเวิร์กชีตทั้งหมดของเวิร์กบุ๊กที่มีอยู่และแทนที่ค่าทั้งหมดพร้อมกันด้วยค่าใดก็ได้ ที่คุณต้องการ. มาแสดงวิธีทำด้วย ค้นหาและแทนที่ . ของ Excel เครื่องมือ
ในภาพต่อไปนี้ คุณจะเห็นว่าเรามีแผ่นงาน Excel ชื่อ หนึ่ง .
ในสมุดงานเดียวกัน เรามีชีตอื่นชื่อ สอง .
สิ่งที่เราจะทำที่นี่คือ ค้นหาคำที่เจาะจงและแทนที่ด้วยคำอื่นด้วยการค้นหาและแทนที่ คุณสมบัติใน Excel ในกรณีของเรา เราจะแทนที่คำว่า “แอมโบรส” กับ “Moxley” .
ขั้นตอน:
- จาก หน้าแรก แท็บ เลือก ค้นหาและเลือก -> แทนที่ …
- หลังจากนั้น ค้นหาและแทนที่ กล่องป๊อปอัปจะปรากฏขึ้น คลิกที่ ตัวเลือก>> (แสดงในภาพด้านล่าง)
- หลังจากนั้น ตัวเลือกใหม่จะปรากฏขึ้นในกล่องป๊อปอัป เขียนคำที่คุณต้องการค้นหา (ในกรณีของเราคือ “แอมโบรส” ) ใน ค้นหาอะไร ส่วน.
- จากนั้น เขียนคำที่คุณต้องการแทนที่ คำก่อนหน้าด้วย (คำว่า “Moxley” ในกรณีของเรา) ใน แทนที่ด้วย ส่วน.
- หลังจากนั้น จากรายการแบบเลื่อนลงถัดจาก ภายใน , เลือก สมุดงาน . สิ่งนี้จะค้นหาคำที่กำหนดในทุกแผ่นงานในสมุดงานนั้นและแทนที่ทั้งหมด
- สุดท้าย คลิก แทนที่ทั้งหมด .
คุณจะได้รับ กล่องยืนยัน ระบุการแทนที่ทั้งหมดที่เกิดขึ้น เนื่องจากเรามีเวิร์กชีตเพียง 2 แผ่นในสมุดงานของเรา จึงมีการเปลี่ยนทดแทนเพียง 2 รายการในกรณีของเรา หากคุณมีผ้าปูที่นอนมากกว่านี้ เราจะทำการเปลี่ยนผ้าเพิ่มเติม
ตอนนี้เรามาดูกันว่าการเปลี่ยนเกิดขึ้นจริงหรือไม่!
พิจารณาทั้งภาพด้านบนและภาพต่อไปนี้
คำว่า “แอมโบรส” จากแผ่นงานทั้งสองของเราตอนนี้ถูกแทนที่ด้วยคำว่า “Moxley” .
อ่านเพิ่มเติม:วิธีค้นหาและแทนที่ค่าหลายค่าใน Excel ด้วย VBA (3 ตัวอย่าง)
2. ค้นหาและแทนที่ค่าในสมุดงานหลายแผ่น
คุณรู้หรือไม่ว่าหลังจากที่คุณดำเนินการค้นหาและแทนที่ .เสร็จแล้ว การดำเนินการสำหรับแผ่นงานบางอย่าง ค้นหาและแทนที่ กล่องป๊อปอัปจะไม่ปิดจนกว่าคุณจะปิดเอง ดังนั้น คุณสามารถใช้ประโยชน์จากคุณลักษณะนี้เมื่อคุณต้องการแทนที่ค่าในสมุดงานหลายเล่ม
ดูภาพต่อไปนี้ เราได้เปิดสมุดงาน Excel สองเล่ม หนึ่งชื่อ ค้นหาและแทนที่ค่า (ดูภาพด้านล่าง)
อีกชื่อหนึ่งคือ สลับเปลี่ยนหลายคอลัมน์ (แสดงในภาพด้านล่าง)
ตอนนี้ หลังจากที่คุณได้แทนที่ค่าจากเวิร์กชีตเฉพาะที่กล่าวถึงในส่วนด้านบนแล้ว คุณจะสังเกตเห็นว่า กล่องป๊อปอัป ค้นหาและแทนที่ ยังคงอยู่ที่นั่น .
- จากนั้น สิ่งที่คุณต้องทำคือ แทนที่จะคลิกปุ่มปิด เพียง วางเมาส์เหนือเวิร์กบุ๊กถัดไป แล้วกดแทนที่ทั้งหมด . มันจะค้นหาค่าที่คุณต้องการและแทนที่ด้วยค่าที่คุณระบุจากเวิร์กชีตทั้งหมดของเวิร์กบุ๊กนั้นด้วย
คุณสามารถดำเนินการนี้กับสมุดงานได้มากเท่าที่คุณต้องการ
อ่านเพิ่มเติม: วิธีค้นหาและแทนที่โดยใช้สูตรใน Excel (4 ตัวอย่าง)
การอ่านที่คล้ายกัน:
- วิธีการแทนที่ข้อความในสูตร Excel (7 วิธีง่ายๆ)
- วิธีค้นหาและแทนที่อักขระดอกจัน (*) ใน Excel
- ค้นหาและแทนที่ข้อความในช่วงที่มี Excel VBA (มาโครและ UserForm)
- วิธีค้นหาและแทนที่ในคอลัมน์ Excel (6 วิธี)
- วิธีค้นหาและแทนที่ภายในส่วนที่เลือกใน Excel (7 วิธี)
3. ฝัง VBA เพื่อค้นหาและแทนที่ค่าใน Open Workbook ใน Excel
คุณสามารถทำทั้งหมดที่กล่าวถึงในหัวข้อก่อนหน้านี้โดยใช้ VBA รหัส. หากคุณเป็นผู้ใช้ Excel ขั้นสูง ส่วนนี้เหมาะสำหรับคุณ การใช้งาน VBA เป็นวิธีที่มีประสิทธิภาพ รวดเร็วที่สุด และปลอดภัยที่สุดในการรันการดำเนินการใดๆ ใน Excel คุณสามารถ ค้นหาและแทนที่ค่าจากแผ่นงานทั้งหมดของสมุดงาน ใน Excel มาดูวิธีการทำกับ VBA มาโคร
ขั้นตอน:
- ในตอนแรก ให้กด Alt + F11 บนแป้นพิมพ์ของคุณหรือไปที่แท็บ นักพัฒนา -> Visual Basic เพื่อเปิด Visual Basic Editor .
- ถัดไป ในหน้าต่างรหัสป๊อปอัป จากแถบเมนู ให้คลิก แทรก -> โมดูล .
- จากนั้น คัดลอก รหัสต่อไปนี้และ วาง ลงในหน้าต่างโค้ด
Sub MultipleFindAndReplace()
Dim iSheet As Worksheet
Dim OldValue As Variant
Dim NewValue As Variant
Dim i As Long
OldValue = Array("John", "Roman", "Dean", "Seth", "Finn")
NewValue = Array("Ben", "Alex", "Joe", "Chris", "Josh")
For i = LBound(OldValue) To UBound(OldValue)
For Each iSheet In ActiveWorkbook.Worksheets
iSheet.Cells.Replace What:=OldValue(i), Replacement:=NewValue(i), LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next iSheet
Next i
End Sub
ตอนนี้รหัสของคุณพร้อมใช้งานแล้ว
โค้ดนี้จะแทนที่อาร์เรย์ของค่า “John, Roman, Dean, Seth, Finn” ด้วยค่า “เบ็น อเล็กซ์ โจ คริส จอช” .
- ตอนนี้ กด F5 บนแป้นพิมพ์หรือจากแถบเมนู ให้เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm . คุณยังสามารถคลิกที่ไอคอนการวิ่งขนาดเล็ก ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
หลังจากรันโค้ดแล้ว ดูภาพด้านล่างเพื่อดูผลลัพธ์
ค่าทั้งหมด (“John, Roman, Dean, Seth, Finn” ) ที่คุณป้อนในรหัสของคุณเพื่อแทนที่ด้วยค่า (“Ben, Alex, Joe, Chris, Josh” ) ถูกแทนที่เรียบร้อยแล้ว
คุณยังสามารถรันโค้ดนี้เพื่อค้นหาและแทนที่ค่าต่างๆ จากหลายเวิร์กชีตในหลายๆ เวิร์กบุ๊ก .
- หลังจากเรียกใช้แมโครในเวิร์กบุ๊กหนึ่ง ตอนนี้เพียง วางเมาส์เหนือเวิร์กบุ๊กอื่น . จากนั้นไปที่ Developer -> Macros .
- A มาโคร กล่องป๊อปอัปจะปรากฏขึ้น ที่นั่น เลือกชื่อมาโครแล้วคลิกเรียกใช้ .
คุณจะเห็นว่าผลลัพธ์เดียวกันนี้จะถูกนำไปใช้กับเวิร์กบุ๊กที่คุณเปิดในภายหลัง การค้นหาและแทนที่ค่าที่คุณป้อนในโค้ดจะช่วยให้ค้นหาและแทนที่คำเหล่านั้นได้สำเร็จ
คำอธิบายโค้ด VBA
Dim iSheet As Worksheet
Dim OldValue As Variant
Dim NewValue As Variant
Dim i As Long
การกำหนดตัวแปร
OldValue = Array("John", "Roman", "Dean", "Seth", "Finn")
NewValue = Array("Ben", "Alex", "Joe", "Chris", "Josh")
ตั้งค่าเพื่อค้นหาใน OldValue ตัวแปรและตั้งค่าที่จะแทนที่ใน NewValue ตัวแปร
For i = LBound(OldValue) To UBound(OldValue)
For Each iSheet In ActiveWorkbook.Worksheets
iSheet.Cells.Replace What:=OldValue(i), Replacement:=NewValue(i), LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next iSheet
Next i
โค้ดนี้จะวนซ้ำในแต่ละรายการในรายการ Array ก่อน จากนั้นวนซ้ำแต่ละแผ่นงานใน ActiveWorkbook หลังจากสแกนแล้วจะแทนที่ OldValue ด้วย NewValue เมื่อมันพบการจับคู่ หลังจากการวนซ้ำในแผ่นงานหนึ่ง แผ่นงานจะย้ายไปยังแผ่นงานถัดไปและเริ่มดำเนินการวนซ้ำอีกครั้ง
อ่านเพิ่มเติม: ค้นหาและแทนที่ค่าหลายค่าใน Excel (6 วิธีด่วน)
บทสรุป
สรุป บทความนี้แสดงวิธีการต่างๆ ในการค้นหาและแทนที่ค่าในหลายแผ่นงานและไฟล์ ใน Excel ด้วย ค้นหาและแทนที่ เครื่องมือและ มาโคร VBA . ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับคุณมาก อย่าลังเลที่จะถามคำถามใด ๆ เกี่ยวกับหัวข้อนี้
บทความที่เกี่ยวข้อง
- เทคนิคการล้างข้อมูลใน Excel:การเพิ่มข้อความลงในเซลล์
- วิธีการเพิ่มข้อความก่อนสูตรใน Excel (4 วิธีง่ายๆ)
- ค้นหาและแทนที่ค่าโดยใช้สัญลักษณ์แทนใน Excel
- วิธีใช้ฟังก์ชันทดแทนใน Excel VBA (3 ตัวอย่าง)
- วิธีการแทนที่อักขระพิเศษใน Excel (6 วิธี)