วันพฤหัสบดีที่ 7 กรกฎาคม พ.ศ. 2559

เริ่มต้น VBA ด้วย Macro

Macro คืออะไร แล้วเกี่ยวอะไรกับ VBA

เคยไม๊ กับการทำอะไร ซ้ำ ๆ เดิม ๆ ทุกวัน ทุกอาทิตย์ แน่นอนว่ามันน่าเบื่อ แต่จะให้ทำไงล่ะ ก็มันต้องทำใช่ไม๊ มันก็ใช่ แล้วทำไงดีล่ะ ก็ไม่ต้องทำ !?

เรื่องนี้ได้ไปเข้าหู ท่านเทพเจ้า Excel เข้า จึงได้มอบเครื่องมือพิเศษที่มีชื่อว่า Macro !!

เจ้า Macro นี่ สามารถทำทุกอย่างได้เหมือนที่เราทำ โดยใช้การบันทึกการกระทำของเรา

วิธีการเปิดใช้งาน Macro
  • ไปที่ File > Option > Customize Ribbon
  • ติ๊กถูก ที่ Developer ในช่องด้านขวา

แค่นี้ เราก็จะได้ชุดเครื่องมือแห่งเทพเจ้ามาใช้แล้ว



เริ่มสร้าง Macro กันดู โดยกำหนดโจทย์ดังนี้

     พิมพ์ "A" ที่ A1, "B" ที่ B1, "C" ที่ C1 แล้ว Copy A1:C1 มาลง 10 บรรทัด    



ขั้นตอนในการสร้าง Macro เพื่อทำตามโจทย์ด้านบน ซ้ำ ๆ ทำได้ดังนี้
  • ไปที่ เมนู Developer > Record Macro

  • จะมีหน้าต่างให้ใส่ชื่อ Macro ก็ใส่ไป แล้วกด OK


  • จากนั้นก็บรรเลงเลย กรอกข้อมูล "A" "B" "C" ตามโจทย์ข้างบน
  • เมื่อกรอกข้อมูลเสร็จแล้ว กด Stop Record อยู่ที่ปุ่มเดียวกับ Record Macro เป็นอันเสร็จ
  • ลองทดสอบดู โดยการลบข้อมูลทั้งหมดออกก่อน แล้วกดปุ่ม Macros จะมี Macro ที่เราสร้างขึ้นมาให้เลือก ก็เลือกไป แล้วกด Run ก็จะได้ผลลัพท์ออกมาเหมือนที่เราทำ


แล้ว Macro ที่เราสร้างล่ะ มันไปอยู่ที่ไหน หน้าตาเป็นยังไง

ถึงตอนนี้แล้ว จะเป็นการเฉลยว่า Macro เกี่ยวกับ VBA ยังไง

Macro จริง ๆ แล้วถูกสร้างด้วย VBA นั่นเอง โดยเราสามารถเข้าไปแก้ไข Macro ได้โดย กดที่ Visual Basic จะมีหน้าต่าง VBA ขึ้นมา เลือก Modules ดับเบิ้ลคลิกที่ Module1 เราจะเห็น Source Code ของ Macro ที่เราสร้าง ซึ่งเป็นภาษา VBA



อ้าว ก็ในเมื่อสามารถ Record Macro แล้วก็ได้ VBA ออกมา แล้วจะต้องเขียนอีกทำไม ?
- คำตอบคือ Macro มันไม่ยืดหยุ่น และไม่ฉลาด Record มันมาแค่ไหน มันทำแค่นั้นจบ ไม่มีการเปรียบเทียบเงื่อนไข ไม่มีการวนลูป

ถ้างั้นแล้ว การ Record Macro ก็ไม่จำเป็นต้องใช้สิ ในเมื่อมันไม่ฉลาด ?
- จำเป็นใช้ แต่ไม่ทั้งหมด เพราะการ Record Macro ก็จะได้ Code VBA ออกมา เราเอาไปแก้ไขต่อ ซึ่งเร็วกว่าที่จะต้องเขียนใหม่ทั้งหมด

ฉนั้น ในความคิดผมแล้ว การเริ่มต้นรังสรรค์ Code VBA ให้เริ่มจากการ Record Macro แล้วแก้ไขเพิ่มเติม เปลี่ยนโน่น ปรับนี่ ผสมแนวคิด ตั้งโจทย์ เมื่อเริ่มไปได้ซักพัก แน่นอน เราจะเจอจุดที่ไปต่อไม่ได้ ถึงตอนนี้ เราจะเริ่มเข้าสู่ Googleland ดินแดนมหัศจรรย์ หาอะไรก็เจอ ถามอะไร ตอบได้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น