Month: August 2007

ขึ้นบรรทัดใหม่ดังใจ ด้วย macro

28 August 2007

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

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

, , ,

เพื่อนขอก็จัดให้

27 August 2007

แก้มแดงแดง ของเธอ ช่างน่ารัก
อยากรู้นัก เหตุใด จึงสวยใส
ไม่รอช้า เอ่ยคำ ถามออกไป
ยาอุทัย หมดไป กี่ขวดเอย

 

บอกตามตรงว่า ไม่เคยแต่งอะไรแบบนี้ ไม่รู้จะขำป่าว แต่เพื่อนขอมาก็จัดให้

ไปนอนดีกว่า…

ราตรีสวัสดิ์

,

2x3x4x3

27 August 2007

โดดเดี่ยว เดียวดาย ใจเหงา
คอยเฝ้า แต่เพียง คิดถึง
จะมี ใครมา คำนึง
เติมรัก ลึกซึ้ง ในใจ

วันวาน แห่งความ เหว่ว้า
นำพา  อุรา หม่นหมอง
อยากมี ความรัก จับจอง
ทุกห้อง หัวใจ ในกาย

สองคน เคียงข้าง ความหมาย
เติมใจ สองใจ ในฝัน
เดินคู่ เคียงกัน และกัน
เติมฝัน ทุกวัน เวลา

ปล. อยากได้ให้ 2x3x4x3x2 แต่หมดพลังแล้ว


เปิดตำนานรัก excel

27 August 2007

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

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

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

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

, ,

ครูที่ไม่รับผิดชอบ

26 August 2007

     หลายๆคนอาจจะรู้แ้ล้วว่า ผมมีโอกาสเป็นอาจารย์พิเศษให้กับโรงเรียนสอนคอมพิวเตอร์แห่งหนึ่ง (ถ้ายังไม่รู้ ย้อนกลับไปอ่านอีกทีครับ ฮา) โดยไปสอนวิชา MS Access 2003 (แบบไม่ได้ตั้งตัว และทางโรงเรียนบอกว่าถือว่าเป็นการทดสอบสอนจริง) ให้กับนักเรียนคนหนึ่ง ในขั้นต้นผมถูกให้สอนส่วนเนื้อหาที่เหลือ (ซึ่งครูคนก่อนอ้างว่าติดธุระและขาดสอนไป เกือบสองเดือน) ซึ่งคือการใช้เครื่องมือต่างๆ ในโปรแกรม แต่หลังจากที่ได้คุยกับนักเรียนแล้ว พบว่าอยากให้ช่วยเพิ่มในสิ่งที่คิดว่า ยังไม่เข้าใจซึ่งก็คือเรื่องการ สร้าง form และ sub form เท่าไรนัก เนื่องจากทำออกมาแล้วข้อมูลไม่แสดงตามที่ต้องการ ผมเลยต้องจัดการขอ งานที่ทำมาดูก่อนเพื่อหาสาเหตุ ผลปรากฎว่าสิ่งที่นักเรียนคนนั้นเข้าใจว่า ตัวเองไม่เข้าใจ กลับไม่ใช่สาเหตุที่แท้จริง เนื่องจากไม่ได้ทำอะไรที่ผิดไปจากปกติเลย แต่สาเหตุที่แท้จริงคือ ฐานข้อมูลที่ออกแบบมาผิดพลาด และผิดพลาดอย่างร้ายกาจด้วย บทเรียนที่ผมเตรียมไว้จึงไว้จึงต้องเปลี่ยนหมด เพราะว่าถ้าผมสอนต่อไป มันจะไม่ได้ช่วยแก้ปัญหาให้กับนักเรียนคนนี้้เลย

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

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

กลับมาถึงตรงเรื่องที่ผมถึงบางอ้อ สิ่งที่ผมอ้อคือ

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

เรื่องที่แปลกใจคือไม่มีใครมาดูการสอนของผมเลยครับ ไม่มีการประเมินว่าผมสอนเป็นยังไงบ้างต้องปรับปรุงตรงไหน อย่างไร แต่มีเรื่องประหลาดกว่าคือ หลังจากจบการสอน เจ้าของโรงเรียนได้สอบถามผมเรื่อง การสอนครั้งต่อไป ซึ่งก็คือวิชา SQL Server 2000 (ผมสมัครไปสอน excel แต่ครั้งแรกให้ทดสอบสอน access) ได้หรือไม่ ซึ่งบอกบอกไปว่า ผมไม่สอนเพราะว่าไม่มั่นใจว่าจะสอนได้ ถึงแม้ว่ามันคือสิ่งที่ผมทำงานด้วยทุกวัน เหมือน excel และก็คิดต่อไปว่า ตกลงรับผมเป็นอาจารย์พิเศษแล้วหรือ??? ง่ายไปหรือเปล่า ทำไมบ้านๆ ขนาดนี้ มาตรฐานอยู่ตรงไหน?? บางคนอาจจะคิดว่า ได้งานก็ดีแล้วสิ จะมาบ่นทำไม??

บอกได้เลยว่า ครูหรืออาจารย์เป็นบุคคลที่ยิ่งใหญ่สำหรับผม ทำไมจึงไม่มีความรับผิดชอบแบบนี้ (ไม่ว่าด้วยเหตุผลอะไร แต่การทิ้งนักเรียนไว้สองเดือน ผมถือว่าไม่รับผิดชอบและไม่มีจรรยาบรรณความเป็นครู) โรงเรียนก็เช่นกันทำไมจึงปล่อยปละละเลย เช่นนี้ แ้ล้วแบบนี้ อนาคตประเทศไทยจะเป็นอย่างไร เด็กไทยจะเป็นอย่างไร โอ้ประเทศชาติ…

ปล 1 ผมคงไม่เอ่ยชื่อเพราะว่าไม่มีหลักฐานผูกมัดโดยตรง เดี๋ยวจะกลายเป็นว่าหมิ่นประมาทไป
ปล 2 ผมกำลังคิดว่าต้องเขียนจดหมายไปลาออกหรือไม่ เพราะเขียนใบสมัครไปแล้ว แต่การรับเข้ายังไม่มีหลักฐาน เพราะทางโรงเรียนบอกว่า ใบสมัครแค่แสดงว่าประสงค์จะสอน ส่วนความรับผิดชอบต่างๆ ขึ้นอยู่กับเอกสารการรับงานสอนอีกชิ้นหนึ่ง ใครมีความรู้รบกวนแนะนำด้วยครับ

,

เพลง แผ่นดิน

20 August 2007

สองสามวันนี้ผมเพิ่งได้เห็น โฆษณาชิ้นหนึ่ง ในโครงการคุณธรรมนำไทย

ไม่มีดินผืนใดให้ไออุ่น เท่ากับดินที่คุณถือกำเนิด
ไม่มีดินผืนใดดูมั่นคง เท่ากับดินที่ลงสำมะโนครัว
ไม่มีดินผืนใดให้คุณเดิน เท่ากับดินที่คุณเดินตอนตั้งไข่
ไม่มีดินผืนใดมีความหมาย เท่าแผ่นดินสุดท้ายของเผ่าพันธุ์
ไม่มีเงินไม่มีทองยังไม่หมองเศร้า มีแผ่นดินปลูกข้าวเราอยู่ได้
ไม่มีเงินไม่มีทองค่อยหาใหม่ บนแผ่นดินสุดท้ายของไทยทุกคน
บนแผ่นดินสุดท้ายของไทยทุกคน

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

, ,

Gamma Meeting’07 Photos

18 August 2007

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

Gamma Meeting

จะเข้าไปดูที่ไหนก็เลือกเอานะ ที่ PicasaWeb หรือที่ Multiply ตามสะดวกเลยเพื่อน
ไปหละ ไปนอน พรุ่งนี้ไปลงประชามติ

ปล รู้สึกว่า รูปตั้ม เดี่ยวจะไม่มี เหอๆ ไปหาจากกล้องคนอื่นละกัน (รูปตูด้วย)

, ,

…”หาวันในสัปดาห์”…

17 August 2007

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

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

Find Weekday from Date

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

 

 

, ,