Excel

วันนี้มีงานที่ต้องให้พนักงานคีย์ข้อมูลช่วยคีย์ หน้าตาเป็นดังภาพ

direction.JPG

ซึ่งจาก จุดที่ลูกศรชี้ ปกติเราต้องใช้ ปุ่ม home ช่วยในการกลับไป (อันนี้ขึ้นอยู่กับการตั้งค่า Excel ของแต่ละคน) แต่ว่า เรามองว่า ถ้าเรามี เรคคอร์ดมากว่า หมื่นเรคคอร์ดที่จะต้องคีย์เท่ากับว่า เราต้องกด ปุ่ม Home มากกว่า หมื่นครั้ง ซึ่ง ไม่น้อยเลยทีเดียว จึงคิดว่า จะต้องช่วยถอมนิ้วของเราและคีย์บอร์ดไว้นานๆ จึงจัดการปรับแต่ง excel ของเราซะนิดนึง

ขั้นแรก ไปที่ เมนู Tools -> Options – Edit แล้วปรับ ดังกรอบสีแดง เพื่อให้ทุกครั้งที่เราคีย์เสร็จแล้วกด enter เคอร์เซอร์ จะวิ่งไปทางขวามือ

option_edit.JPG

จากนั้น เราก็ไปจัดการ เพิ่ม code VBA (Visual Basic for Application) อีกสองสามบรรทัดเพื่อให้ดักจับเหตุการการเลื่อนเคอร์เซอร์ ซึ่งในที่นี้เราประยุกต์ Event Worksheet Change มาใช้งาน ซึ่งแนวความก็คือ ถ้าเคอร์เซอร์ เลื่อนไปทางขวา เกิน คอลัมน์ C เมื่อไหร่ ให้มันเด้งกลับไปที่ คอลัมน์ A ของบรรทัดถัดไปโดยพลัน

vbacode.jpg

จากภาพจะเห็นว่า Event Worksheet_Change มี Argument หนึ่งตัวคือ Target ซึ่งเป็นถูกระบุเป็น Range โดย Range จะมี properties ที่จะมาช่วยเราในงานนี้อยู่สองตัว คือ .column และ .row ในการนี้เราต้องรู้ก่อนว่า คอลัมน์ C เท่ากับ 3 ซึ่งหลังจากเรากด Enter ตอนใส่ค่าใน คอลัมน์ C เจ้า Event worksheet_change จะทำงานทันที (แต่จริงๆแล้ว มันทำงานตลอดเวลาแต่ว่า ไม่เข้าเงือนไขเลยไม่สงผลอะไร) โดยจะทำการเช็คว่า .column (ตอนกด enter ที่ คอลัมน์ C มีค่า เป็น 3) มีค่า มากกว่า 2 หรือยัง ปรากฎว่ามากว่าแล้ว จึงจัดการทำ คำสั่ง Cell Select โดยอ้างค่า แถวปัจจุบันบวกด้วย 1 และ คอลัมน์ที่ 1 ทันใด

ปล. 1 VBA code นี้จะต้อง ใส่ไว้ใน worksheet ที่เรากำลังจะคีย์งานนะครับ
ปล. 2 ลืมนึกไปว่าบางคนยังไม่เคยเข้าไปที่ VBA editor ไว้คราวหน้าจะมาพูดถึงก็แล้วกัน
ปล. 3 มีไฟล์มาให้ ลองเอาไปเล่นด้วย แต่ตอนเปิด ต้อง enable macro ก่อนนะครับ (คลิ๊กขวาที่ชื่อแล้ว save as.. ได้เลย) autonextrecord.xls

Excel

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

บุคคลแรกคงหนีไม่พ้น อาจารย์สมเกียรติ ฟุ้งเกียรติ แห่ง excel expert training dot com ซึ่งตอนหลักได้มีชื่อเพิ่มเติม แสดงความเป็นตัวตนของเว็บแห่งนี้ คือ xlsiam.com (xls i am) ผมได้ความรู้จากบทความที่อาจารย์เขียนไว้บนเว็บมากมาย และภายหลังก็ได้มีโอกาสเข้าอบรมกับอาจารย์ในหลักสูตร ลดความซ้ำซ้อน เพิ่มผลงานด้วย excel VBA ซึ่งเป็นการเรียนอีกครั้งหนึ่งที่ผมประทับใจ เพราะนอกจากจะมีเนื้อหาตามหลักสูตรแล้ว อาจารย์ยังใส่ความรู้ที่เกิดจากการเก็บเกี่ยวประสบการณ์ของอาจารย์ ให้แบบไม่ห่วง (ถ้าจะให้สะใจหน่อยคงต้องบอกว่า “ไม่มีกั๊ก”) ถ้ามีโอกาส ผมแนะนำครับ แล้วคุณจะรู้ว่า ราคาของ excel ไม่แพงอย่างที่คิด*

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

และด้วยมิตรภาพที่ดี จากบุคคลเหล่านี้ทำให้ผมรัก excel ครับ

Excel

เรื่องก้อมีอยู่ว่า มีเพื่อนร่วมงานผมหนึ่งท่าน ต้องการ “หาวันของสัปดาห์” จากวันที่ที่ระบุไว้ผมก็จัดให้ ดังภาพด่านล่างสุด

อธิบายพอสังเขป จากสูตรที่เห็นคือ เราจะใช้ฟังก์ชัน WEEKDAY เพื่อหาวันของสัปดาห์ โดย สูตรนี้จะให้ผลลัพธ์เป็น 1 – 7 (เริ่มจากวันอาทิตย์ – เสาร์) เมื่อได้ค่ามาแล้ว เราจึงให้ ฟังก์ชัน CHOOSE เพื่อนำค่าผลลัพธ์ที่ได้ (1-7) มาเลือก วันลิสต์ ของวันที่ที่เราใส่ไว้

Find Weekday from Date

ปล ผมก็ไม่แน่ใจว่ามีวิธีอื่นอีกหรือไม่นะครับใครมีวิธีดีๆ ก็ฝากไว้ในคอมเม้นต์ได้เน้อ

 

 

Excel

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

1. ทุกเครื่องในบริษัท มี Microsoft Excel อยู่แล้ว : เรื่องของเรื่องคือผมชอบเขียนโปรแกรมมีบั๊ก (อ้าวประจานตัวเอง) ทำตัวเหมือน Microsoft ปล่อยของให้เร็วเข้าว่าแล้วตามแก้ทีหลัง เพราะฉะนั่น ไม่ว่าใครจะเจอบั๊กที่ไหน ผมจะเดินไปแก้ที่นั่นแล้ว ส่งมันไปเก็บไว้ที่คลังข้อมูลผมครับ สะดวกสะบาย ไม่ต้องวิ่งไปวิ่งมา กลับไปที่เครื่อง เพื่อแก้ไขแล้ว deploy ใหม่ (ปล. ความสามารถเฉพาะตัว เหมาะสำหรับงานเล็กๆ และห้ามเลียนแบบTongue out

2. ง่ายต่อการทำตัวอย่างงาน : งานบางอย่างยูสเซอร์จะยังไม่รู้ว่าต้องการอะไร ครั้นจะเขียนเป็นโปรแกรมให้เห็นขึ้นมาก่อน ผมว่ามันก็ช้านะ สู้ใช้ Excel ที่มี work space ให้เราทำงานอย่างสำเร็จรูป เป็นช่องเป็นตาราง หรือ แม้แต่ต้องการ ฟอร์ม ก็ยังทำได้อีก สบายแฮ ไป demo ที่ไหนก็เอไฟล์ใส่ แผ่น CD ไปแล้วก็เปิดด้วย Excel บนเครื่องได้ทันที่ ไม่ต้องแบก laptop ไปด้วย (บางครั้งแบกไป เพื่องานแป๊บเดียวมันไม่คุ้มนะคร๊าบบ)

3. รายงานสารพัดจัดให้ : อยากได้รายงาน แบบไหนหละ Tabular, Cross Tab, Multi-Dimension, Chart  สารพัด ก้อจัดการได้ภายในพริบตา แถมยังเชื่อมต่อดูดเอาข้อมูลจากที่อื่นมาทำรายงานได้ ผ่านทาง ODBC ก็ยังได้

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

5. ใช้ Excel ทำให้เข้าถึงพนักงานทุกส่วนในบริษัท เพราะทุกแผนกเค้าก็ใช้ Excel กันหมด แผนก IT ก็ยังมีใช้บ้างเลย

เมื่อนับได้ห้าข้อแล้ว ก็มาเริ่มใช้ Excel ให้คุ้มค่ากันดีกว่าครับ