Category Archives: VBA Knowledge

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

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

Join String

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

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

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

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

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

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

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

นำข้อมูลจากหลายชีตมาเรียงใหม่เฉพาะค่าที่ไม่ซ้ำ

💥 Excel มีเครื่องมือสำหรับการนำเฉพาะค่าที่ไม่ซ้ำมาแสดงคือ Data > Remove Duplicates แต่จะทำเช่นนี้ได้ข้อมูลจะต้องอยู่ในชีตเดียวกันเท่านั้น หากข้อมูลอยู่ในหลาย ๆ ชีต แต่ละชีตมีหลายตำแหน่ง จะไม่สามารถใช้เครื่องมือตัวนี้จัดการได้ในทันที จำเป็นต้องใช้ VBA เข้ามาจัดการ 🙂

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

🔎 การค้นหาใน Excel สามารถกดแป้น Ctrl+F เพื่อเปิดกล่องโต้ตอบที่ใช้สำหรับการค้นหา กรอกข้อมูลที่ต้องการแล้วคลิกปุ่ม Find Next หรือ Find All แล้วแต่ว่าต้องการค้นหาไปทีละค่าหรือค้นหาทั้งหมด การค้นหาดังกล่าวเป็นการวิ่งไปยังเซลล์ที่พบข้อมูล

คัดลอกข้อมูลที่ระบายสีไปไว้ในไฟล์ใหม่

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

รวมข้อมูลที่กระจัดกระจายมาเป็น Database

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

การบันทึกข้อมูลลง Database ด้วย VBA

⌨ ผู้ใช้งาน Excel ส่วนใหญ่มักจะมีปัญหาการนำข้อมูลไปจัดเก็บไว้เป็นฐานข้อมูลหรือ Database เพื่อให้เกิดความสะดวกในการนำข้อมูลมาใช้งานในภายหลัง ซึ่งการจัดเก็บข้อมูลลง Database นั้นไม่สามารถทำได้ด้วยสูตร จำเป็นต้องพึ่งพา VBA เข้ามาจัดการ 😟

แปลงข้อมูลให้เป็น Database ด้วย VBA

📝 บ่อยครั้งทีเดียวที่เราได้รับข้อมูลมาแล้วไม่สามารถนำไปใช้งานต่อได้ ยกตัวอย่างเช่น ข้อมูลที่คั่นด้วยเครื่องหมายคอมม่าและวางอยู่ในคอลัมน์เดียว หากข้อมูลเหล่านั้นคั่นด้วยเครื่องหมายคอมม่าด้วยจำนวนที่ไม่แน่นอนจะยิ่งยุ่งยากลำบากในการจัดการ 😵

การลบอักขระที่ไม่ต้องการออกด้วย VBA

🖱 เมื่อเราพบว่าข้อมูลที่ได้รับมานั้นในแต่ละเซลล์มีอักขระแปลกปลอมปะปนอยู่ในหลายตำแหน่ง ไม่สามารถระบุได้แน่ชัดว่าอยู่ที่อักขระที่เท่าไรบ้าง หากจะลบด้วยมือจะต้องใช้เวลามาก เราจะจัดการกับปัญหานี้ได้อย่างไร 🤢