14 มี.ค. 2022 เวลา 13:26 • การศึกษา
หลังจากรู้จักกับ การเขียนcode VBA กันมาสักพัก และคุ้นเคยแล้ว หลายคนคงคิดว่าไม่ยากใช่ไหมครับ
แน่นอนว่าเราสามารถประยุกต์ใช้ ตัวโปรแกรมได้หลากหลายแน่นอน โดยเฉพาะอย่างยิ่ง งานที่ต้องทำซ้ำๆ
การเขียนโปรแกรม VBA ใน excel จะช่วยให้เราทำงานได้เร็วขึ้น
โดยการใช้ Loop ซึ่งในโปรแกรมก็มีให้เลือก ใช้งานตามความเหมาะสม เช่น for next , do while , do until หรือ select case
แต่วันนี้เราจะมาเรียนรู้การใช้ for next ลูปกันก่อน เพราะเข้าใจง่ายสุด ก่อนอื่นสร้างตารางเปล่าๆขึ้นมาก่อน 1 ตาราง ดังนี้ โดยเขียนใส่ใน sheet 1
Sheet1 >>>table
โดนเราจะวนลูป for next โดยดึงข้อมูลที่ละcell จากsheet2 โดยที่sheet2 มีข้อมูลดังนี้
Sheet2 data
ต่อมาเขียน code ตัวนี้ลงไปใน module ที่เราสร้างขึ้น
Code
โดยจะขออธิบายสั้นๆดังต่อไปนี้อันดับแรกคือเราจะต้องกำหนดคุณสมบัติของตัวแปลไว้ผมจะกำหนดให้ตัวแปร i เป็นตัวแปล integer ซึ่งก็คือตัวเลขจำนวนเต็ม
ตัว for loop จะใช้สำหรับ วนลูปที่เราทราบจำนวนครั้ง เช่น ในที่นี้ จะวน จาก 2 ไปจนถึง 15 คือจำนวน 14 ครั้ง จะได้เท่ากับจำนวนข้อมูล ในcells ที่เราต้องการดึงข้อมูลมา
เราจะปิดลูปด้วย next ในตอนท้ายเพื่อปิด ลูป โดยกระบวนการต่างๆจะถูกกระทำอยู่ในลูปจนจบจึงจะทำคำสั่งถัดไป
ในที่นี้คือคำสั่ง copy จาก sheet2 ในcellที่ (i,1)มาใส่ที่ปลายทาง sheet 1 ในcellที่ (i,3)
โดยค่า i จะเพิ่มขึ้นที่ละ1 จาก2 ไปจนถึง 15 (14 ครั้ง)
จากนั้นเราจะใช้คำสั่ง sheet2.Range(“c2”, Range(“c3”).End(xldown).select เพื่อเลือกข้อมูลทั้งหมด
แล้วตกแต่งให้มีเส้นขอบ ด้วยคำสั่ง selection.Borders.Llinestyle = xlContinuous
แล้วจึงออกจากคำสั่งsub() ก็จะได้ข้อมูลอยู่ในช่องID ใน sheet1 เรียบร้อย

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

โฆษณา