Category Archives: VBA Knowledge

VBA Excel – Workbook and Worksheet

📂 ในการจัดการไฟล์และชีตของ Excel เราจะต้องเข้าถึง Object ที่ชื่อว่า Workbook และ Worksheet โดยจะต้องทราบ Method และ Property ของ Object ดังกล่าวด้วยเพื่อที่จะกำหนดค่าหรือควบคุม

VBA Excel – Object Model

🖥 การเขียนโปรแกรมควบคุม Excel ด้วย VBA จำเป็นที่จะต้องเรียนรู้ Object ของ Excel เบื้องต้นที่เราต้องรู้จักเพื่อทีจะเขียนโปรแกรมควบคุม Object ของ Excel ได้แก่ Application, Workbook, Worksheet, Chart, Cell, Range, Shape เป็นต้น

Professional macro recording

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

เลือกข้อมูลที่เข้าเงื่อนไขมาเรียงใหม่ด้วย VBA

🙄 การเลือกข้อมูลที่อยู่ในตารางหลายคอลัมน์หลายบรรทัดมาเรียงใหม่โดยพิจาณาจากค่าในเซลล์ว่าต้องเข้าเงื่อนไขตามที่กำหนดจึงจะนำมาใช้งาน โดยไม่ได้เลือกมาเฉพาะค่าในเซลล์ แต่เลือกคอลัมน์แรกของตารางที่ตรงกับค่าดังกล่าวและบรรทัด

การแยกข้อมูลคอลัมน์เดียวเป็น 2 คอลัมน์

🤔 ข้อมูลที่อยู่ในรูปแบบรายงานและวางข้อมูลอยู่ในคอลัมน์เดียว เมื่อจะนำไปใช้งานต่อจะมีความยุ่งยากลำบาก เพื่อให้สะดวกต่อการใช้งานควรแยกออกมาเป็น 2 คอลัมน์หรือมากกว่า ขึ้นอยู่กับลักษณะของข้อมูล เพื่อที่

Dialog About

📰 ในการพัฒนาโปรแกรมนั้นเราควรจะมีการระบุข้อมูลที่สำคัญอย่างหนึ่งก็คือข้อมูลเกี่ยวกับโปรแกรมว่าเป็น Version ใด พัฒนาโดยใคร หากมีปัญหาในภายหลังจะได้ติดต่อผู้พัฒนาจะได้สะดวก ผู้พัฒนาจะทราบได้ว่าใน Version นั้น ๆ รองรับลักษณะงานต่าง ๆ 

การรวมข้อมูลจากหลายไฟล์ด้วย VBA

🗄 งานที่สำคัญอย่างหนึ่งสำหรับการทำรายงานคือการรวมข้อมูลจากหลาย ๆ ไฟล์ งานลักษณะนี้เกิดจากการท่ี่องค์กรมีหน่วยงานอยู่หลายสาขาหรือหลายหน่วยงานแล้วจำเป็นต้องนำข้อมูลมารวมกันเพื่อทำรายงาน หากเป็นการรวมข้อมูลจากหลาย ๆ ไฟล์ด้วยมือนั้น

การค้นหาข้อมูลหลายชีตด้วย VBA

🔍 เมื่อข้อมูลแยกกันอยู่หลายชีตการเข้าถึงข้อมูลจะยุ่งยากขึ้นมาทันที แม้เราจะมีฟังก์ชั่นการค้นหาของ Excel ที่มีความสามารถสูงส่งก็ยังไม่มีความเป็นอัตโนมัติพอที่่จะให้เราทำงานได้โดยสะดวกรวดเร็ว วิธีการที่จะให้เกิดความสะดวกในการค้นหาข้อมูลตามที่เราต้องการ

Join String

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

การปรับปรุงข้อมูลพร้อมกันหลายรายการด้วย VBA

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

การกระจายข้อมูลออกเป็นหลายชีตด้วย VBA

📘 เราสามารถนำข้อมูลในชีตเดียวกันไปแสดงหลาย ๆ ชีตได้หลายวิธี เช่น ด้วยสูตร ด้วย PivotTable แต่ทั้งสองวิธีจะมีปัญหากับการเพิ่มลดข้อมูล เพราะไม่สามารถที่จะเพิ่มลดชีตได้อย่างอัตโนมัติ หากต้องการให้มีการเพิ่มลดชีตได้อย่างอัตโนมัติจำเป็นต้องพึ่งพา VBA 😄

การแปลง Report ไปเป็น Database

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