Excel VBA | พื้นฐาน Excel VBA

17/10/2017 9:01 PM คอมพิวเตอร์ 1,241 views

หลายคนที่ทำงานประจำและต้องใช้  Excel คงจะเบื่อที่ต้องมานั่งทำงานแบบเดิมซ้ำๆ ทุกวันไม่มีอะไรเปลี่ยนแปลงเหมือนกันผมตอนแรกก็สนุกไม่ต้องคิดอะไรมาก ทำแบบเดิม หลังๆ เริ่มเบื่อเพราะไม่มีอะไรใหม่ บางครั้งเป็นงานที่ต้องใช้เวลาทำนานมาก บางงานต้องใช้ความรอบคอบเพราะเกี่ยวกับตัวเลข บางครั้งทำงานกับข้อมูลเยอะ ซ้ำซาก หรือมีหลายขั้นตอนต้องมาเสียเวลาแทนที่จะได้ไปทำงานอื่นๆ

ตัวผมเองเป็นคนขี้เกียจอยู่แล้วจะให้มานั่งทำแบบเดิมๆ ทุกวันมันก็เบื่อเลยไปศึกษาหาวิธีใหม่ๆ ว่าทีอะไรบ้างที่จะมาช่วยลดขั้นตอนการทำงาน ลดความซ้ำซ้อนและช่วยให้งานเสร็จไวขึ้น จนพบกับศาสตร์ที่เรียกว่า “Excel VBA” จริงๆ ก็เคยได้ยินและลองเขียนโปรแกรม VB มาบ้างแล้วตอนเรียน แต่ตอนนั้นไม่รู้ว่ามันมี VBA ด้วย ซึ่งมันมาจากคำว่า Visual Basic for Application จะมีคำสั่งเหมือนกันการเขียน VB แต่พิเศษคือใช้ควบคุมการทำงานกับ Microsoft Office เช่น Excel, Access แต่มันมีความตื่นเต้นคือเราสามารถใช้ควบคุมการทำงานของ Excel ได้เลย มักเรียกติดปากกันว่า “Excel VBA”

 

ความแตกต่างของ Excel VBA vs. Excel Macro

Excel Macro : เป็นวิธีการบันทึกขั้นตอนการทำงานที่ละ step  โดยไม่จำเป็นต้องเขียนคำสั่ง (Code) เป็นวิธีที่ง่าย ไม่ต้องมีความรู้ด้านการเขียนโปรแกรมก็สามารถทำได้ แต่มีข้อเสียคือต้องเป็นขั้นตอนที่ไม่ซับซ้อนและไม่มีการกรองข้อมูล หลังจากบันทึกขั้นตอนการทำงานโปรแกรม Excel จะสร้างเป็นคำสั่ง VBA ให้อัติโนมัติ (แต่ชุดคำสั่งจะยากมากกว่าเขียนเอง) ครับ

Excel VBA : เป็นการเขียนคำสั่งเพื่อจัดการข้อมูลเหมือนกัน Macro แต่มีความซ้ำซ้อนมากกว่าที่ Macro ทำไม่ได้เช่น มีการสลับขั้นตอนการทำงาน เช่น ไม่จำเป็นต้องทำขั้นตอน 1 แต่ข้ามไปขั้นตอน 2 ได้เลย หรือมีเงื่อนไขการทำงานที่เปลี่ยนไปเช่น เลือกข้อมูลบางเดือนมาประมวลผล หรือเลือกข้อมูลบางกลุ่ม เป็นต้น

สรุป ทั้ง Excel VBA vs. Excel Macro ใช้ประมวลผลการทำงานเหมือนกันแต่ VBA สามารถประยุกต์ใช้งานได้หลากหลายกว่า ส่วนตัวเคยเขียน Excel VBA มากพอสมควรแต่ละงานก็มีเงื่อนขที่แตกต่างกันไปทำให้ได้ใช้ขั้นตอน (Algorithm) ที่หลากหลาย อาจจะไม่ได้เก่งมากเพราะผมก็ยังไม่รู้ทุกฟังก์ชั่นของ VBA ตอนนี้ก็ยังศึกษาไปเรื่อยๆ แต่ก็อยากจะเขียนเป็นความรู้เผื่อคนที่สนใจและมีปัญหาแบบได้กันเอาไว้ศึกษาและไปใช้ ซึ่งมันช่วยลดขั้นตอนการทำงานได้เยอะมาก และการทำงานก็เร็วขึ้น แม่นยำมากขึ้นมากๆครับ

Excel VBA ทำอะไรได้บ้าง

การทำงานส่วนใหญ่ของ Excel VBA จะเหมือนกับการทำงานทั่วไปของ Excel แต่บางครั้งมันเป็นขั้นตอนย่อยๆ ที่เราขี้เกียจทำหรืออาจจะลืมทำ หรือข้อมูลเยอะ จึงเขียนชุดคำสั่ง VBA ที่ทำให้ Excel ทำงานอัติโนมัติ รวดเร็วและง่ายขึ้น เช่น

  • จัดทำรายงานประจำวันและตรวจเช็คข้อมูล
  • ทำ Data Cleaning, Data standardization and deduplication
  • Vlookup ข้อมูลปริมาณมากๆ จากหลายแหล่งข้อมูล
  • สร้างสูตร Excel ให้ทำงานรวมกับช่วงข้อมูล
  • คำนวณ, วิเคราะห์, ข้อมูลที่มีเงื่อนไขหลากหลายและแตกต่างกัน
  • อื่นๆ อะไรก็ตามที่ Excel ทำได้ VBA สามารถทำงานเสร็จได้ในปุ่มเดียว

เนื้อหาพื้นฐาน (รออัพเดทอีกไม่นานค้าบ)

  1. เริ่มต้น Excel VBA
  2. ช่วงข้อมูล (Range)
  3. ตัวแปรและอาร์เรย์ (Variables and Array)
  4. เงื่อนไข If และ Loop (For…Next ,Do While )
  5. อักขระ (String Manipulation)
  6. ลองทำโจทย์