เนื้อหา
จากประสบการณ์ในการสอน Excel VBA ใน 3-4 ปีนี้ ผมพบปัญหา หรืออุปสรรค อย่างหนึ่งในการใช้งาน VBA ของผู้เรียน Excel VBA กับผมคือ การไม่สามารถออกแบบ Sub Procedure เพื่อทำงานเองได้ แม้เมื่อเรียนจบจะมีความเข้าใจ VBA ได้เป็นอย่างดี สามารถปรับแก้โค้ดมรดก หรือสามรถค้นหาโค้ดจาก Google เอามาประยุกต์ใช้กับงานของตัวเองได้ แต่ครั้นจะมาเริ่มออกแบบ จนกระทั่ง Coding ออกมาใช้งานเองกลับเริ่มไม่ถูก
จาก inbox คำถามจากนักเรียนหลังจากที่เรียนจบไป จะมีคำถามเข้ามาคล้ายๆกัน ผมจึงนำมาวิเคราะห์และพบว่า ผู้เรียนยังมีประสบการณ์น้อย ขาดมุมมองในการตีโจทย์ สับสนกับการเริ่มต้น คือรู้ว่าเริ่มได้ แต่ไม่มั่นใจว่าจะเริ่มด้วยอะไรดี ซึ่งแนวคิดในการริเริ่มที่ดี จะนำไปสู่การดีไซน์โค้ดที่ดี แต่ไม่ได้หมายความว่า การดีไซน์ครั้งแรกจะสวยงามและสมบูรณ์แบบเลย แต่หมายถึงการเริ่มให้ได้ และค่อยๆ ปรับ เพิ่ม ลด แก้ไข ทดลองใช้ จนได้โค้ดที่สวยงาม นิ่ง และนำไปใช้งานได้อย่างมีประสิทธิภาพจริงๆ แบบเบ็ดเสร็จในคลิกเดียว
และจากการที่ผมได้ใช้ VBA ทำงานให้กับองค์กรบริษัทหลายๆที่ในระยะเวลา 15 ปีมานี้ ทำให้ผมตระหนักว่า ประสบการณ์ (เวลา+การลงมือทำฝึกฝน ) นั้นมีผลกับการดีไซน์งานมากทีเดียว จึงนำมาสู่ข้อสรุปที่ว่า จำเป็นต้องมี VBA Workshops เพราะการฝึกใช้งานที่หลากหลาย จะทำให้เกิดการทำซ้ำ และการต่อยอดประยุกต์โค้ด สร้างโค้ด แต่งโค้ดได้ลื่นไหลขึ้น
คอร์สนี้จึงถูกออกแบบขึ้นมา เป็น VBA Workshops มีวัตถุประสงค์เพื่อให้ผู้เรียนได้ฝึกเล่นกับโค้ด จากโจทย์หลายๆโจทย์ที่ต้องประมวลความรู้ทั้งหมดมาใช้ออกแบบโค้ด VBA ซึ่งแน่นอนว่ามันจะช่วยเสริมประสบการณ์ในการใช้งาน VBA ช่วยให้ผู้เรียนได้เห็นรูปแบบลักษณะการออกแบบโค้ด และการปรับเปลี่ยนโค้ดให้เข้ากับลักษณะของข้อมูล และลักษณะงานที่ต้องการ รวมไปถึงได้รับประสบการณ์ในการใช้งาน VBA ช่วยให้เกิดความคุ้นเคย และมีความมั่นใจในการใช้งาน VBA ได้อย่างสนุก และมั่นใจมากขึ้น
ลักษณะการเรียนการสอน
จะเป็นการออกแบบโปรเจคงาน ที่ใช้ VBA code ทั้งหมด 14 โปรเจค ประกอบด้วย
- สร้าง Spreadsheet form ให้ User กรอก แล้ว ส่งข้อมูลไปเก็บในฐานข้อมูลรวม
- สร้าง Spreadsheet form ให้ User กรอก แล้ว ส่งข้อมูลไปเก็บในฐานข้อมูลของแต่ละแผนกอัตโนมัติโดย User ไม่ต้องเป็นผู้เลือกเอง
- กระจายฐานข้อมูลนับ 1,000 records ไปบันทึกตามแผนกต่าง ๆ ด้วยการคลิ้กเพียงครั้งเดียว
- กระจายฐานข้อมูลนับ 1,000 records ไปบันทึกตามแผนกต่าง ๆ ด้วยการคลิ้กเพียงครั้งเดียว พร้อมมีการตรวจสอบหากมีการส่งข้อมูลซ้ำจะให้ทับข้อมูลเดิม แต่หากเป็นข้อมูลเก่าจะถูกนำไปเพิ่มต่อจากรายการสุดท้ายลงไปเรื่อย ๆ
- กระจายฐานข้อมูลนับ 1,000 records ไปบันทึกตามแผนกต่าง ๆ ด้วยการคลิ้กเพียงครั้งเดียว โดยให้มีการกำหนดคอลัมน์ และเลือกรายการเฉพาะที่ต้องการนำไปใช้ได้
- รวมข้อมูลจากชีท 200 ชีท มาไว้ในชีทเดียว เพื่อทำการวิเคราะห์ข้อมูล
- กลับข้อมูลจากรายงานประเภท Cross tab ให้เป็น ฐานข้อมูล
- เลือกเก็บข้อมูลตามสีของ cell ที่กำหนด
- สร้าง KPI report ของแต่ละสาขาในรูป Excel File เพื่อให้สาขาทำงานต่อ ส่ง comment / feedback กลับมา
- สร้าง Dashboard สรุปผลประกอบการ แยกตามสาขาทั้ง 200 สาขา ในรูป PDF file (เพื่อไม่ให้มีการแก้ไขข้อมูลที่ส่งออกไป)
- สั่งพิมพ์ สลิปเงินเดือน พนักงาน (กดทีเดียว print ทั้งบริษัท)
- ใส่รูปสินค้านับ 1,000 รายการลงใน ลิสต์รายการสินค้าด้วยการคลิ้กเพียงครั้งเดียว !!!! เป็นพัน ๆ รูป ก็ใช้เวลาแพร้บเดียว
- สั่งพิมพ์บัตรพนักงาน พร้อมรูป ด้วยการคลิ้กสั่งทีเดียว
คอร์สนี้เหมาะสำหรับ
- ผู้ที่ต้องมีความรู้ และเคยใช้ VBA เบื้องต้นมาบ้างแล้ว แต่ยังไม่สามารถออกแบบ หรือเขียนรหัส VBA ขึ้นมาได้เองเพราะไม่รู้จะเริ่มต้นอย่างไร
- ผู้เรียนต้องมีความรู้เบื้องต้นเหล่านี้
- การใช้ Cell Reference / Worksheet Reference / Workbook Reference
- การใช้ Variable
- การใช้ IF Statement
- การใช้ Loop (For each / For i)
สิ่งที่ได้จากการเรียนคอร์สนี้
- ทบทวนการใช้ VBA เบื้องต้น อย่างเร็ว ๆ อีกรอบ
- เรียนรู้การออกแบบ และเทคนิคที่จำเป็นสำหรับการออกแบบ Spreadsheet Form ให้ user ใช้งาน
- ได้ฝึกฝนการใช้ Loop ในลักษณะต่าง ๆ
- เรียนรู้วิธีในการตรวจสอบค่าจากสีที่กำหนด เพื่อใช้เป็นเงื่อนไขในการสั่งให้เกิดการทำงานแบบมีเงือนไข
- ประยุกต์การใช้ VBA สร้าง รายงาน KPI ของแต่สาขา (Excel File)
- ประยุกต์ใช้ VBA สร้าง Dashboard สรุปผลการดำเนินงาน แยกตามสาขา (PDF)
- ประยุกต์ใช้ VBA ใส่รูปลงในตารางลิสต์รายชื่อสินค้า…
- ประยุกต์ใช้ VBA สั่งพิมพ์ สลิปเงินเดือน !!! คลิ้กเดียว print สลิปทั้งบริษัท
- สร้าง Template สำหรับพิมพ์บัตรพนักงาน ให้ VBA เลือกหยิบรูปมาใส่ลงใน Template ตามรายชื่อที่ต้องการพิมพ์
- ผู้เรียนได้สัมผัสการประยุกต์ใช้ VBA ที่หลากหลาย ช่วยเปิดความคิดแบบ “เป็นไปได้” ในการใช้งาน VBA ในรูปแบบต่าง ๆ
- สุดท้าย ผู้เรียนเกิดความมั่นใจในการใช้ VBA มากขึ้น สนุกกับการใช้ VBA และได้ประโยชน์สูงสุดจากการใช้งาน VBA