Excel เป็นโปรแกรมที่สร้างความยืดหยุ่นให้แก่ผู้ใช้งานเป็นอย่างยิ่ง โดยเฉพาะคุณสมบัติ WYSIWYG (What you see is what you get) ทำให้ผู้สร้างงานสามารถตรวจสอบ แก้ไข เปลี่ยนแปลง ลบทิ้ง สร้างใหม่ ได้ตามใจนึก แล้วเห็นผลลัพธ์ที่ตนต้องการออกมาในทันที มีความสะดวกและยืดหยุ่นต่อการแก้ไขเปลี่ยนแปลงเป็นอย่างยิ่ง
ความยืดหยุ่นของ Excel เหล่านี้ สร้างความปั่นป่วนให้แก่การใช้ VBA เนื่องจากตัวโปรแกรม Visual Basic Editor เก็บรหัสที่เราสร้างขึ้นไว้แบบตายตัว เขียนไว้อย่างไร บันทึกไว้อย่างไร ก็จะทำงานไปตามนั้นเสมอ ตัวรหัสไม่ได้ปรับเปลี่ยนไปตามการแก้ไขเปลี่ยนแปลง ซึ่งเกิดขึ้นในตาราง worksheet
หากมีการปรับเปลี่ยนตำแหน่งหรือข้อมูลในตาราง worksheet เช่น จัดการ insert / delete / move / rename / แก้ไขข้อมูลในเซลล์ โดยสิ่งต่างๆที่ถูกเปลี่ยนแปลงเหล่านี้ ถูกเขียนกำหนดไว้ในตัวรหัส vba จะพบว่า ตัวรหัสเหล่านั้น ยังคงเดิม ไม่มีการเปลี่ยนแปลงย้ายตำแหน่งให้อัตโนมัติเช่นที่ Excel ทำได้ ผู้สร้างงานต่างหากจะต้องแก้ไขรหัสใน vba ใหม่ด้วยตัวเอง
ดังนั้นก่อนที่จะคิดใช้ vba ไม่ว่าจะเขียนรหัสขึ้นเอง หรือใช้ macro recorder ก็ตาม มีข้อควรคำนึงดังต่อไปนี้
ขั้นตอนการทำงานมีความชัดเจนเพียงใด นับตั้งแต่การสั่งเปิด file แล้วคลิกไปที่ตารางใด ใส่ค่าใดลงไปที่ใด เสร็จแล้วสั่งคำนวณ สั่งพิมพ์ สั่ง save file แล้วทำงานใดต่อๆไปอีก
มีตัวตายตัวแทนซึ่งสามารถช่วยแก้ไขเปลี่ยนแปลง หรือสร้างรหัส vba ให้ใหม่ได้หรือไม่ ลองนึกดูซิครับว่า ถ้าคนทั้งบริษัท ติดนิสัยกดปุ่มเดียวแล้ว vba ทำงานต่อให้เองโดยอัตโนมัติ ต่อมาเจ้าปุ่มนั้นเกิดไม่ทำงานหรือทำงานเพี้ยนขึ้นมา แล้วตามหาตัวคนที่รู้รหัสนี้ กลับมาช่วยไม่ได้จะเกิดอะไรขึ้น ทั้งบริษัทจะปั่นป่วนไปหมดทีเดียวแหละ
| Home |
| เอกสารประกอบหลักสูตร
Excel Expert Training http://www.tpa.or.th/xlsiam http://xls.i.am |
11/11/2544 |