สารบัญ
เมื่อเรามีชุดข้อมูลขนาดใหญ่ในเวิร์กบุ๊ก Excel บางครั้งอาจสะดวกหากเราสามารถวนซ้ำแถวเพื่อแยกผลลัพธ์ที่เราต้องการได้ การใช้ VBA เป็นวิธีการที่มีประสิทธิภาพที่สุด รวดเร็วที่สุด และปลอดภัยที่สุดในการเรียกใช้การดำเนินการใดๆ ใน Excel ในบทความนี้ เราจะแสดงวิธีการต่างๆ 11 วิธีในการ วนซ้ำแถวของตาราง ใน Excel ด้วย แมโคร VBA
ดาวน์โหลดสมุดงาน
คุณสามารถดาวน์โหลดสมุดงาน Excel แบบฝึกหัดได้ฟรีจากที่นี่
วนซ้ำแถวของตารางด้วย VBA.xlsm
11 วิธีการด้วย VBA เพื่อวนซ้ำแถวของตารางใน Excel
จากส่วนนี้ คุณจะได้เรียนรู้วิธี วนซ้ำแถวของตาราง ด้วย 11 วิธีที่แตกต่างกัน เช่น วนซ้ำแถวจนถึงเซลล์ว่าง วนซ้ำแถวจนกว่าจะพบค่าเฉพาะ วนซ้ำแถวและลงสีเซลล์ที่ต้องการ เป็นต้น ด้วยมาโคร VBA ใน Excel
ด้านบนคือตัวอย่างชุดข้อมูลที่บทความนี้จะทำตามเพื่ออธิบายวิธีการ
1. ฝัง VBA เพื่อวนผ่านแต่ละเซลล์ในทุกแถวของตารางตามหมายเลขอ้างอิงเซลล์
ถ้าคุณต้องการ วนซ้ำแต่ละเซลล์ในทุกแถวของตาราง ในแผ่นงาน Excel ของคุณ และรับ หมายเลขอ้างอิงเซลล์เป็นค่าส่งคืน จากนั้นทำตามขั้นตอนที่กล่าวถึงด้านล่าง
ขั้นตอน:
- ในตอนเริ่มต้น ให้กด Alt + F11 บนแป้นพิมพ์หรือไปตัวแปร
5505
โค้ดชิ้นนี้มีไว้สำหรับวนซ้ำแถวตั้งแต่ 1 ถึง 15 หากพบคำเฉพาะ “ Edge ” ก็จะใส่สีเซลล์ที่เก็บคำนั้น ทำแบบนี้ต่อไปจนกว่าจะเสร็จสิ้นการสแกนข้อมูลทั้งหมดตั้งแต่แถวที่ 1 ถึง 15 ในการค้นหาคำ
อ่านเพิ่มเติม: วิธีใช้ VLOOKUP Table Array ตาม ค่าเซลล์ใน Excel
การอ่านที่คล้ายกัน
- มีฟังก์ชัน TABLE ใน Excel หรือไม่
- วิธีแปลงตารางเป็นรายการใน Excel (3 วิธีง่ายๆ)
- แปลงช่วงเป็นตารางใน Excel (5 วิธีง่ายๆ)
- ใช้สูตรในตาราง Excel อย่างมีประสิทธิภาพ (พร้อม 4 ตัวอย่าง)
- ชื่อตาราง Excel: ทั้งหมดที่คุณต้องรู้
7. ใช้ VBA เพื่อวนซ้ำแต่ละแถวและสีทุกแถวที่คี่ใน Excel
จากส่วนก่อนหน้านี้ เราได้เรียนรู้วิธีลงสีเซลล์ที่มีค่าเฉพาะ ในส่วนนี้ เราจะเรียนรู้วิธีการ วนซ้ำแต่ละแถวของตารางและระบายสีทุกแถวที่คี่ ด้วยมาโคร VBA ใน Excel
ขั้นตอนในการดำเนินการ อธิบายไว้ด้านล่าง
ขั้นตอน:
- ตามที่แสดงก่อนหน้านี้ เปิด Visual Basic Editor จาก นักพัฒนาซอฟต์แวร์ แท็บและ แทรก โมดูล ในหน้าต่างโค้ด
- จากนั้น คัดลอก โค้ดต่อไปนี้และ วาง ลงใน หน้าต่างโค้ด
5815
โค้ดของคุณพร้อมทำงานแล้ว
- ตอนนี้ เรียกใช้ มาโครและดูภาพต่อไปนี้เพื่อดูผลลัพธ์
แถวที่เป็นเลขคี่ ทั้งหมดมีสี หลังจากวนซ้ำทุกแถวที่อยู่ในตารางของแผ่นงาน
คำอธิบายรหัส VBA
8227
กำหนดตัวแปร
2382
กำหนดช่วงที่เราจะทำงานด้วย
5397
ส่วนนี้ของโค้ดอ้างอิงถึงการวนซ้ำผ่านแถวทั้งหมด โดยเริ่มจากแถวถัดไปของแถวปัจจุบัน B4 . หาก mod ของการหารหมายเลขแถวด้วย 2 เท่ากับหมายเลขแถวที่ส่งคืนซึ่งจัดเก็บในประเภทจำนวนเต็ม โค้ดนี้จะให้สีทุกแถวที่แยกออกมาโดยการคำนวณด้วยดัชนีสีที่มีให้ในโค้ด มันเคลื่อนผ่านแถวทั้งหมดไปเรื่อย ๆ จนกว่าจะถึงจุดสิ้นสุดของช่วง
8. ใช้ VBA เพื่อวนซ้ำแถวและลงสีทุกแถวคู่ใน Excel
ในส่วนที่แล้ว เราได้เรียนรู้วิธีการลงสีทุกแถวที่คี่ของตาราง ในส่วนนี้ เราจะเรียนรู้วิธี วนซ้ำแต่ละแถวของตารางและลงสีทุกแถวคู่ ด้วยแมโคร VBA ใน Excel
ขั้นตอนในการดำเนินการมีการอธิบายด้านล่าง
ขั้นตอน:
- ประการแรก เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- จากนั้น คัดลอก โค้ดต่อไปนี้ และ วาง ลงในหน้าต่างโค้ด
7332
รหัสของคุณพร้อมแล้วเรียกใช้
- ถัดไป เรียกใช้ มาโครและดูภาพต่อไปนี้เพื่อดูผลลัพธ์
แถวที่เป็นเลขคู่ทั้งหมดจะถูกลงสี หลังจากวนซ้ำทุกแถวที่อยู่ในตารางของเวิร์กชีต
คำอธิบายโค้ด VBA
9335
กำหนดตัวแปร
4592
กำหนดช่วงที่เราจะทำงานด้วย
7100
โค้ดส่วนนี้เริ่มวนซ้ำหลังจาก สามแถวจากแถวปัจจุบัน B4 โดยจะลงสีก่อน จากนั้นจึงเพิ่มจำนวนแถวทีละ 2 และลงสีไปเรื่อยๆ จนกว่าจะถึงแถวสุดท้ายของชุดข้อมูล
9. ใช้มาโครเพื่อวนซ้ำในแถวจนถึงเซลล์ว่างใน Excel
ถ้าคุณต้องการให้โค้ดของคุณทำงานในลักษณะที่จะ วนซ้ำทุกแถวของตารางและหยุดเมื่อถึงเซลล์ว่าง ส่วนนี้เหมาะสำหรับคุณ คุณสามารถดำเนินงานนั้นด้วย FOR Loop และ Do-Until Loop ใน Excel VBA .
9.1 ด้วย FOR Loop
ขั้นตอนในการ วนซ้ำแถวในตารางจนกว่าจะมีเซลล์ว่างที่มี FOR Loop ใน VBA Excel แสดงไว้ด้านล่าง
ขั้นตอน:
- ในตอนแรก ให้เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก โมดูล ในหน้าต่างโค้ด
- หลังจากนั้น คัดลอก โค้ดต่อไปนี้ และ วาง ลงในหน้าต่างโค้ด
4265
รหัสของคุณพร้อมที่จะทำงานแล้ว
- จากนั้น เรียกใช้ มาโครและผลลัพธ์แสดงใน gif ด้านล่าง
หลังจากเรียกใช้มาโครแล้ว เริ่มวนซ้ำทุกแถว ในตาราง และเมื่อถึง เซลล์ว่าง เซลล์ B8 ก็จะ หยุดการวนซ้ำ
คำอธิบายโค้ด VBA
5230
กำหนดตัวแปร
8255
ปิดกิจกรรมการอัปเดตหน้าจอ
4043
เก็บแถวทั้งหมดตั้งแต่ เซลล์ B4 จนถึงแถวสุดท้าย
6977
เลือก เซลล์ B4 .
5430
โค้ดส่วนนี้เริ่มวนซ้ำทุกแถว เมื่อพบเซลล์ว่างในแถว ให้เลือกเซลล์นั้นและสแกนแถวต่อไปจนสุด
4663
เปิดกิจกรรมการอัปเดตหน้าจอ
9.2. ด้วย Do-Until Loop
ขั้นตอนในการ วนซ้ำแถวต่างๆ จนกว่าจะมีเซลล์ว่างที่มี Do-Until loop ใน VBA แสดงไว้ด้านล่าง
ขั้นตอน:
- ประการแรก เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก โมดูล ในหน้าต่างโค้ด
- จากนั้น คัดลอก โค้ดต่อไปนี้ และ วาง ลงในหน้าต่างโค้ด
3733
รหัสของคุณพร้อมที่จะเรียกใช้แล้ว
- หลังจากนั้น เรียกใช้ มาโคร ผลลัพธ์จะแสดงเป็น gif ต่อไปนี้
หลังจากเรียกใช้มาโครแล้ว มาโครจะเริ่ม วนซ้ำทุกแถว ในตาราง และหนึ่งครั้ง ถึง เซลล์ว่าง, เซลล์ B8 , มัน หยุดการวนซ้ำ .
รหัส VBAคำอธิบาย
4059
เลือกเซลล์ที่เราจะทำงาน
9916
เริ่มและวนลูปต่อไปจนกว่าจะพบเซลล์ว่าง
7108
เมื่อเซลล์ว่างถูก พบในแถว จากนั้นเลือกและหยุดการวนซ้ำ
10. มาโคร VBA เพื่อวนซ้ำแถวจนถึงเซลล์ว่างหลายเซลล์ใน Excel
ในส่วนที่แล้ว คุณได้เรียนรู้วิธีหยุดการวนซ้ำเมื่อพบเซลล์ว่าง แต่ถ้าคุณไม่ต้องการหยุดการวนซ้ำจนกว่าจะพบเซลล์ว่างหลายเซลล์แทนที่จะเป็นเซลล์เดียว
ขั้นตอนในการ วนซ้ำแถวจนกว่าจะพบเซลล์ว่างหลายเซลล์ ในตาราง ด้วย VBA Excel แสดงอยู่ด้านล่าง
ขั้นตอน:
- ประการแรก เปิด Visual Basic Editor จาก แท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างรหัส
- จากนั้น คัดลอก รหัสต่อไปนี้และ วาง ลงในหน้าต่างโค้ด
5473
โค้ดของคุณพร้อมทำงานแล้ว
- ตอนนี้ เรียกใช้ มาโครและดู gif ต่อไปนี้สำหรับเอาต์พุต
หลังจากเรียกใช้มาโครแล้ว ไม่หยุดที่ เซลล์ว่างเซลล์แรก เซลล์ B8 มันหยุดเมื่อพบ เซลล์ว่างสองเซลล์ติดต่อกันบนเซลล์ B16 .
คำอธิบายรหัส VBA
5349
เลือกเซลล์ ที่เราจะทำงานจาก
8984
เริ่มและวนลูปต่อไปจนกว่าจะพบเซลล์ว่างสองเซลล์ติดต่อกัน
4650
เมื่อพบเซลล์ว่างสองเซลล์ติดต่อกัน จากนั้นเลือกและหยุดการวนซ้ำ
11. ฝัง VBA เพื่อวนซ้ำแถวโดยเชื่อมคอลัมน์ทั้งหมดจนว่างใน Excel
ส่วนนี้จะแสดงวิธีการ วนซ้ำแถวทั้งหมดในตารางและเชื่อมคอลัมน์ทั้งหมดเข้าด้วยกันจนเป็นเซลล์ว่าง พบกับ VBA Excel
มาเรียนรู้วิธีดำเนินการดังกล่าวด้วยแมโคร VBA ใน Excel กัน
ขั้นตอน:
- ในตอนแรก ให้เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- จากนั้น คัดลอก โค้ดต่อไปนี้ และ วาง ลงในหน้าต่างโค้ด
8785
โค้ดของคุณ พร้อมที่จะทำงานแล้ว
- หลังจากนั้น เรียกใช้ มาโครและดู gif ต่อไปนี้สำหรับผลลัพธ์
อย่างที่คุณเห็นจาก gif ด้านบนคือมีป๊อปอัป MsgBox แสดงค่า ที่ต่อกันของคอลัมน์ทั้งหมดที่อยู่ในทุกๆ แถว จากตารางเวิร์กชีต Excel ของคุณ แต่ หยุดเมื่อถึงเซลล์ว่าง .
คำอธิบายโค้ด VBA
3876
กำหนดตัวแปร
2599
ตั้งชื่อแผ่นงานที่เราจะทำงานด้วย (“ ConcatenatingAllColUntilBlank ” คือชื่อแผ่นงานในสมุดงาน)
7441
กำหนดช่วงที่เราจะทำงานด้วย
6475
โค้ดส่วนนี้เริ่มต้นลูปด้วยอาร์เรย์ มันยังคงวนซ้ำจนกว่าจะส่งกลับตัวห้อยที่ใหญ่ที่สุดของอาร์เรย์และขอบเขตล่างของมิติแรก จากนั้นจะเข้าสู่การวนซ้ำของการแยกขอบเขตล่างของมิติที่สอง หลังจากนั้น จะส่งค่าที่แยกออกมาทั้งหมดในตัวแปร iResult โดยการต่อค่าเข้าด้วยกันและโยนผลลัพธ์ใน MsgBox ทำต่อไปจนกว่าจะพบเซลล์ว่าง
บทสรุป
โดยสรุป บทความนี้แสดงวิธีที่มีประสิทธิภาพ 11 วิธีในการ วนซ้ำแถว ของตาราง ใน Excel ด้วย แมโคร VBA ฉันหวังว่าบทความนี้มีประโยชน์มากสำหรับคุณ อย่าลังเลที่จะถามคำถามเกี่ยวกับหัวข้อ
ไปที่แท็บ นักพัฒนาซอฟต์แวร์ -> Visual Basicเพื่อเปิด Visual Basic Editor.
- ถัดไป ในหน้าต่างรหัสป๊อปอัป จาก แถบเมนู คลิก แทรก -> โมดูล .
- จากนั้น คัดลอก โค้ดต่อไปนี้และ วาง ลงในโค้ด หน้าต่าง
3237
รหัสของคุณพร้อมที่จะทำงานแล้ว
- ตอนนี้ กด F5 บน แป้นพิมพ์หรือจากแถบเมนู เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm คุณยังสามารถคลิกที่ ไอคอนเล่นขนาดเล็ก ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
- หรือ มองเห็นภาพและเปรียบเทียบชุดข้อมูลและผลลัพธ์ คุณสามารถ บันทึก รหัสและ กลับไปที่เวิร์กชีต ที่สนใจ
- จากนั้น คุณสามารถคลิก มาโคร จากแท็บ นักพัฒนาซอฟต์แวร์ เลือกชื่อมาโคร แล้วคลิก เรียกใช้ .
หลังจากดำเนินการโค้ดสำเร็จ ให้ดูที่ gif ด้านบนเพื่อดูผลลัพธ์ จะมีป๊อปอัป MsgBox แสดง หมายเลขอ้างอิงเซลล์ของทุกเซลล์จากแต่ละแถว จากตารางในแผ่นงาน Excel ของคุณ
คำอธิบายรหัส VBA
6086
รับหมายเลขแถวสุดท้ายในตารางโดยการค้นหาคอลัมน์ B
2868
กำหนดแถวหมายเลข 4 ซึ่งเป็นจุดเริ่มต้นของข้อมูลของเรา
9151
วนซ้ำจากแถวแรก
3019
ตั้งค่าคอลัมน์ที่ 2 จากตำแหน่งเริ่มต้นข้อมูลของเรา
1749
เริ่มวนซ้ำแถวเพื่อรับแถวสุดท้ายหมายเลขคอลัมน์โดยการประเมินแถวปัจจุบันจนถึงแถวสุดท้าย
3197
เพิ่มการวนซ้ำคอลัมน์จากแถวแรกจนถึงแถวสุดท้าย
9325
โค้ดส่วนนี้ทำงานเพื่อประมวลผล เพิ่มขึ้นหลังจากแต่ละรายการ วนซ้ำและแสดงผลของโค้ด
อ่านเพิ่มเติม: วิธีเพิ่มแถวใหม่ในตาราง Excel โดยอัตโนมัติ
2 . ใช้ VBA เพื่อวนผ่านแต่ละเซลล์ในทุกแถวตามค่า
ถ้าคุณต้องการ วนซ้ำแต่ละเซลล์ในทุกแถวของตาราง และโยนค่าที่อยู่ในเซลล์เป็นค่าส่งคืน ส่วนนี้จะช่วยให้คุณทราบว่าจะทำอย่างไรกับ VBA Excel
คุณสามารถทำได้ด้วย ListObject และด้วย DataBodyRange คุณสมบัติของ VBA เราจะแสดงรหัสแมโครที่มีทั้งวัตถุและคุณสมบัติ
2.1. ด้วย ListObject
ขั้นตอนในการ วนซ้ำแต่ละเซลล์ในทุกแถวของตารางตามค่าเซลล์ด้วย ListObject ใน VBA Excel ระบุไว้ด้านล่าง
ขั้นตอน:
- เหมือนเดิม เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- จากนั้น ในหน้าต่างโค้ด คัดลอก โค้ดต่อไปนี้และ วาง ได้เลย
1258
รหัสของคุณพร้อมที่จะทำงานแล้ว
- หลังจากนั้น เรียกใช้ มาโคร ดังที่เราแสดงให้คุณเห็นในส่วนด้านบน ผลลัพธ์จะแสดงในรูป gifด้านล่าง
จะมีป๊อปอัป MsgBox แสดงค่า ที่ดำเนินการโดยทุกเซลล์จากแต่ละแถว จากตารางในแผ่นงาน Excel ของคุณ
คำอธิบายโค้ด VBA
9634
กำหนดตัวแปร
9886
ส่วนนี้ ของโค้ดแรกเริ่มวนซ้ำตามแถวในตาราง (“ TblStudents ” คือชื่อตารางของเรา) จากนั้นป้อนคอลัมน์สำหรับแต่ละแถว หลังจากนั้นให้ส่งค่าของเซลล์ใน MsgBox จากนั้นไปที่คอลัมน์ถัดไป หลังจากวนซ้ำทุกคอลัมน์ในหนึ่งแถวเสร็จแล้ว ก็จะวนไปยังแถวถัดไปและดำเนินการวนซ้ำไปเรื่อยๆ จนถึงแถวสุดท้าย
2.2. ด้วยคุณสมบัติ DataBodyRange
เพื่อให้เฉพาะเจาะจงมากขึ้นกับข้อมูลที่ดึงมาจากตาราง คุณสามารถใช้คุณสมบัติ DataBodyRange ของ ListObject คุณสมบัติ DataBodyRange จะแสดงผลลัพธ์ที่มีช่วงจากรายการระหว่างแถวส่วนหัวและแถวแทรก
ขั้นตอนในการ วนซ้ำแต่ละเซลล์ในทุกแถว ของตารางตามค่าเซลล์ที่มี DataBodyRange ใน VBA Excel จะได้รับด้านล่าง
ขั้นตอน:
- ดังที่แสดง ก่อนหน้านี้ เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- จากนั้น , คัดลอก โค้ดต่อไปนี้ และ วาง ลงในหน้าต่างโค้ด
1161
โค้ดของคุณพร้อมทำงานแล้ว
- ต่อมา เรียกใช้ มาโครและดู gif ต่อไปนี้เพื่อดูผลลัพธ์
จะมีป๊อปอัป MsgBox แสดงค่า ที่ดำเนินการโดยทุกเซลล์จากแต่ละแถว จากตารางในแผ่นงาน Excel ของคุณ
คำอธิบายโค้ด VBA
8254
กำหนดตัวแปร
7327
โค้ดส่วนนี้เริ่มวนซ้ำตามแถวในตาราง (" TblStdnt " คือชื่อตารางของเรา) และส่งกลับช่วงของค่าที่ไม่รวม แถวส่วนหัวของตาราง จากนั้นส่งค่าของช่วงใน MsgBox จากนั้นไปที่แถวถัดไปเพื่อแยกช่วงและดำเนินการวนซ้ำต่อไปจนถึงแถวสุดท้าย
3. ใช้แมโคร VBA เพื่อวนซ้ำแถวโดยเชื่อมคอลัมน์ใน Excel
ส่วนนี้จะแสดงวิธีการ วนซ้ำแถวในตารางโดยเชื่อมคอลัมน์กับคอลัมน์แรก จากชุดข้อมูลของคุณ ใน Excel
ตัวอย่างเช่น สำหรับชุดข้อมูลของเรา ขั้นแรก เราจะวนซ้ำผ่าน John ในเซลล์ B5 และ 101 ในเซลล์ C5 โดยการเชื่อมข้อมูลเหล่านี้เข้าด้วยกัน แล้ววนซ้ำผ่าน John ในเซลล์ B5 และ 89 ในเซลล์ D5 โดยเชื่อมต่อจาก แถวที่ 5
ให้เราแสดงวิธีดำเนินการดังกล่าวด้วย VBA มาโครใน Excel
ขั้นตอน:
- ในตอนแรก ให้เปิด Visual Basic Editor จาก นักพัฒนาซอฟต์แวร์ แท็บและ แทรก a โมดูล ในหน้าต่างรหัส
- ประการที่สอง ในหน้าต่างรหัส คัดลอก ต่อไปนี้ รหัสและ วาง มัน
3228
รหัสของคุณพร้อมที่จะทำงานแล้ว
- ประการที่สาม เรียกใช้ มาโคร ดู gif ด้านล่างเพื่อดูผลลัพธ์
จะมีป๊อปอัป MsgBox แสดงค่า ที่ต่อกัน ของเซลล์จากคอลัมน์ที่หนึ่งและที่สอง ( John ในเซลล์ B5 จากคอลัมน์ B และ 101 ในเซลล์ C5 จากคอลัมน์ C ) จากนั้น ค่าที่ต่อกัน ของเซลล์จากคอลัมน์ที่หนึ่งและสาม ( John ในเซลล์ B5 จากคอลัมน์ B และ 89 ในเซลล์ D5 จากคอลัมน์ D ) ของ แถวหมายเลข 5 จากชุดข้อมูลของคุณ และการต่อข้อมูลนี้จะดำเนินต่อไปจนกว่าจะถึงแถวสุดท้ายของตาราง
คำอธิบายโค้ด VBA
9782
กำหนดตัวแปร
1465
จากนั้นโค้ดจะเลือกตารางจากแผ่นงานที่ใช้งาน (“ TblConcatenate ” ในชื่อตารางของเรา)
7902
หลังจากนั้น เริ่มวนซ้ำแต่ละแถวโดยไม่รวมส่วนหัวของ คอลัมน์ หากการวนซ้ำพบการจับคู่ในช่วงระหว่างส่วนหัวของคอลัมน์และแถว ก็จะเก็บค่าไว้ในตัวแปร iValue
2871
หากเงื่อนไขข้างต้นไม่สำเร็จ รหัสโยนค่าใน MsgBox และเสร็จสิ้นเงื่อนไข หลังจากนั้นก็จะวนลูปในช่วงอื่นและวนซ้ำไปเรื่อยๆ จนจบแถว เมื่อถึงแถวสุดท้าย มาโครจะสิ้นสุดการทำงานของโค้ด
4. ฝังมาโครเพื่อวนซ้ำผ่านแถวโดยการเชื่อมคอลัมน์ทั้งหมดในตารางใน Excel
ในส่วนนี้ เราจะเรียนรู้วิธีการ เชื่อมคอลัมน์ทั้งหมดที่แต่ละแถวมีอยู่ ในชุดข้อมูลด้วย VBA มาโครใน Excel
ขั้นตอนการดำเนินการที่แสดงด้านล่าง
ขั้นตอน:
- ประการแรก เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- จากนั้น คัดลอก โค้ดต่อไปนี้ และ วาง ลงในหน้าต่างโค้ด
9941
โค้ดของคุณพร้อมที่จะทำงานแล้ว
<3
- ถัดไป เรียกใช้ โค้ดมาโคร
อย่างที่คุณเห็นจาก gif ด้านบนคือมี ป๊อปอัป MsgBox แสดงค่าที่ต่อกัน ของคอลัมน์ทั้งหมดที่อยู่ในทุกแถว จากตารางเวิร์กชีต Excel ของคุณ
คำอธิบายรหัส VBA
3448
กำหนดตัวแปร
9870
ตั้งชื่อแผ่นงานที่เราจะทำงานด้วย (“ ConcatenatingAllCol ” คือชื่อแผ่นงาน ในสมุดงาน).
5943
De ปรับชื่อตารางที่เราจะทำงานด้วย (“ TblConcatenateAll ” คือชื่อตารางในชุดข้อมูลของเรา)
9049
เริ่มการวนซ้ำผ่านแต่ละแถวของตาราง
9247
เริ่มการวนซ้ำผ่านแต่ละคอลัมน์ของแต่ละแถวของตาราง
1409
จัดเก็บผลลัพธ์โดยตัดค่าที่แต่ละคอลัมน์ของแต่ละแถวมีค่า หลังจากสแกนผ่านคอลัมน์ทั้งหมดที่อยู่ในแต่ละแถวแล้ว ก็จะผ่านส่งผลให้ MsgBox จากนั้นเริ่มวนซ้ำอีกครั้งในแถวถัดไปและวนซ้ำต่อไปจนกว่าจะถึงแถวสุดท้ายของตาราง
อ่านเพิ่มเติม: วิธีจัดเรียงหลายคอลัมน์ของตารางด้วย Excel VBA (2 วิธี)
5. หยุดการวนซ้ำหากพบค่าโดยการวนซ้ำตามแถวของตารางด้วยมาโคร VBA
สมมติว่าคุณต้องการ วนซ้ำตามแถวของตารางที่มี และหยุดการวนซ้ำเมื่อพบค่าเฉพาะ . คุณสามารถทำได้ด้วยโค้ดแมโครง่ายๆ
มาเรียนรู้วิธีการทำ VBA ใน Excel กัน
ขั้นตอน:
- ในตอนแรก ให้เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างรหัส
- จากนั้นในหน้าต่างโค้ด คัดลอก โค้ดต่อไปนี้และ วาง โค้ดนั้น
9202
โค้ดของคุณพร้อมทำงานแล้ว .
- หลังจากนั้น เรียกใช้ มาโคร
- จะ เริ่มการวนซ้ำและหยุดเมื่อ ค้นหาค่าเฉพาะ (“ Edge ”) ในช่วง และส่งผลลัพธ์ ใน MsgBox .
ดังที่คุณเห็นจากภาพด้านบน มี MsgBox ป๊อปอัพแสดง ที่อยู่เซลล์ $B$10 ซึ่งเราพบ ค่าที่ระบุ “ Edge ” .
คำอธิบายรหัส VBA
4073
กำหนด ตัวแปร
5449
โค้ดชิ้นนี้มีไว้สำหรับวนซ้ำแถวตั้งแต่ 1 ถึง 15 หากพบคำที่ต้องการ“ Edge ” จากนั้นจะส่งผลลัพธ์ด้วยที่อยู่เซลล์ที่เก็บคำนั้น ทำแบบนี้ต่อไปจนกว่าจะเสร็จสิ้นการสแกนข้อมูลทั้งหมดตั้งแต่แถวที่ 1 ถึง 15 ในการค้นหาคำ
อ่านเพิ่มเติม: วิธีแทรกหรือลบแถวและคอลัมน์จากตาราง Excel
6. VBA เพื่อวนซ้ำแต่ละแถวและกำหนดสีค่าเฉพาะใน Excel
จะทำอย่างไรถ้าคุณไม่ต้องการโยนที่อยู่เซลล์ของค่าที่ระบุใน MsgBox คุณอาจต้องการ ระบายสีเซลล์ที่มีค่า ที่คุณกำลังมองหา
มาเรียนรู้วิธีทำด้วย VBA มาโคร
ขั้นตอน:
- เหมือนเดิม เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก โมดูล ในหน้าต่างโค้ด
- จากนั้น คัดลอก โค้ดต่อไปนี้ และ วาง ลงในหน้าต่างโค้ด
6449
รหัสของคุณพร้อมที่จะทำงานแล้ว
- หลังจากนั้น เรียกใช้ มาโคร
- จะ เริ่มวนซ้ำและหยุดเมื่อพบค่าเฉพาะ (" Edge ") ในช่วง และ ระบายสีเซลล์ ด้วย ColourIndex ที่คุณระบุในรหัส
ดังที่คุณเห็นจากภาพด้านบน C ell B10 ที่เราพบค่าที่ระบุ “ Edge ” เป็นสี หลังจากการเรียกใช้โค้ด
คำอธิบายรหัส VBA
4584
กำหนด