18 มี.ค. 2022 เวลา 10:49 • การศึกษา
หลายครั้งที่เราต้องค้นหาคำใน Cell ที่เราต้องการภายในcolumn แล้วให้เสดงผลใน column ว่างสัก column ข้างๆ เราจะทำอย่างไร คำตอบคือ
เราจะใช้คำสั่ง Find และ Find Next ร่วมกันเพื่อต้องการวนลูป คนหา ในแต่ละรอบ ร่วมกับคำสั่งวนลูป โดยในกรณีนี้ผมจะใช้คำสั่ง Do loop while
โดย ตัว Do ก่อนเพื่อทำคำสั่งแรกไม่ว่าอย่างไรก็ตาม และทำคำสั่งต่อไปหากมีค่าเป็น จริง (True) หลังคำสั่ง loop While
เหมือนเดิมครับเราเริ่มด้วยตารางข้อมูลสมมุติกันก่อน โดยกำหนดรายการดังต่อไปนี้
ข้อมูล
สถานการณ์คือ เราต้องการแยก ผักให้แม่ และเอาขนมให้น้อง โดยเรามีข้อมูลของชื่อ ผัก และชื่อ ขนม วิธีแยกคือใช้คำว่า ผัก และคำว่าขนม และแล้วใส่สถานะ ว่า
ของแม่และของน้อง นี้คือโจทย์ในวันนี้
แล้วเราก็มาเขียนCode โดยเข้าไปที่แถบ Developer > project >workbook > insert > module แล้วไปลุยกันเลย
Code
ด้วยเรามี คำค้นหาสองคำ เราจำเป็นต้องทำสองรอบ เพื่อให้ค้นหาคำแรกก่อนแล้วค่อยค้นหาคำที่สองในรอบต่อไป เราจึงต้อง set FindRng1 , FindRng2 ตามลำดับ
Do loop while มีหน้าทีค้นหา Do โดยใช้ FirstCell1,2 ที่ได้ค่าจากคำสั่ง Find และต่อมาจึงเดิน FindNext ตราบใดที่ ค่า Address ไม่ตรงกับค่า Address ของ FirstCell1, 2
Loop while ก็จะดำเนินการไปเรื่อยๆ จนกระทั้งวนเจอค่าแรก ก็จะเด้งออก มาที่ MsgBox และแสดงpopup คำว่า “Search is over” เป็นอันสิ้นสุดกระบวนการ
Result
The end

ดูเพิ่มเติมในซีรีส์

โฆษณา