VBA เพื่อวนซ้ำแถวของตารางใน Excel (11 วิธี)

  • แบ่งปันสิ่งนี้
Hugh West

สารบัญ

เมื่อเรามีชุดข้อมูลขนาดใหญ่ในเวิร์กบุ๊ก 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

รหัสของคุณพร้อมแล้วเรียกใช้

  • ถัดไป เรียกใช้ มาโครและดูภาพต่อไปนี้เพื่อดูผลลัพธ์
<0

แถวที่เป็นเลขคู่ทั้งหมดจะถูกลงสี หลังจากวนซ้ำทุกแถวที่อยู่ในตารางของเวิร์กชีต

คำอธิบายโค้ด 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

กำหนด

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง