วันจันทร์ที่ 27 กุมภาพันธ์ พ.ศ. 2555

เราแสดงเวลาแบบ Realtime ใน excel ได้อย่างไร (How to show real time in excel)

การใช้ excel ในบทความวันนี้ ผมขอเสนอการแสดงเวลาแบบ real time ใน worksheet ต่างๆ ซึ่งจะอาศัยการเขียนด้วย vba โดยอาศัยสูตร excel ต่างๆ ซึ่งคิดว่าจะเป็นประโยชน์กับท่านผู้อ่านสำหรับนำไปประยุกต์การใช้ excel ในด้านต่างๆ เช่น การตัดสต๊อกสินค้าที่เวลาใดๆในแต่ละวัน การเขียนคำสั่งให้ excel ทำงานที่เวลาต่างๆเป็นต้น ซึ่งผมจะนำเสนอในบทความต่อๆไปครับ วันนี้เรามาดูตัวอย่างง่ายๆของการใช้ excel แสดงเวลาแบบ real time ในเซลล์ใดๆ โดยจะดักจับเหตุการณ์ Ontime สำหรับการสั่งให้ฟังก์ชันของ excel ปรับปรุงเวลาอยู่ตลอดเวลา โดยฟังก์ชัน Ontime จะมีรูปแบบของสูตร excel ดังนี้ครับ

.OnTime(EarliestTime, Procedure, LatestTime, Schedule)

เมื่อ

EarliestTime คือค่าเวลาที่เราต้องการให้กระบวนการใดๆของเราทำงาน

Procedure คือกระบวนการใดๆที่เราต้องการให้ทำงานเมื่อถึงเวลาที่กำหนด

LatestTime คือค่าเวลาสุดท้ายที่เราต้องการให้กระบวนการใดๆทำงาน

Schedule คือ การกำหนดสำหรับการเรียกใช้เหตุการณ์ Ontime มีค่าเป็น true หากต้องการเรียกใช้เหตุการณ์ Ontime มีค่าเป็น false หากต้องการยกเลิก เหตุการณ์ Ontime

เอาหล่ะครับ หากผมต้องการให้แสดงเวลาแบบ real time ที่มีรูปแบบเป็น h:mm:ss ในเซลล์ B1 ของ worksheet ชื่อ Sheet1 เราสามารถเขียนกระบวนการทำงานนี้โดยใช้วางฟังก์ชันไว้ที่โมดูลใดๆได้ดังนี้ครับ

Sub mytime()

Worksheets(“Sheet1”).Cells(1,2).Value = Format(Now,”h:mm:ss”)

End Sub

เมื่อ Now คือสูตร excel ที่ใช้แสดงเวลาในปัจจุบัน

จากนั้นหากเราต้องการให้แสดงเวลาตั้งแต่ตอนเปิดไฟล์ excel เราต้องเรียกกระบวนการ mytime ตั้งแต่เกิดเหตุการณ์ เปิดไฟล์ excel ซึ่งจะถูกกำหนดในฟังก์ชัน Workbook_Open โดยเราจะเขียนโค้ดโปรแกรมในฟังก์ชัน Workbook_Open ซึ่งอยู่ในส่วนของ ThisWorkbook ได้ดังนี้

Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("0:0:1"), "mytime"
End Sub

เมื่อ สูตร excel :TimeValue เป็นสูตรสำหรับการแปลงข้อความเป็นค่าเวลาในหน่วย ชั่วโมง :นาที: วินาที

การที่จะให้กระบวนการ mytime ทำงานทุกๆ 1 วินาที จะต้องปรับแก้กระบวนการ mytime ให้เรียกตัวเองอยู่เสมอ จึงต้องปรับแก้ไขดังนี้

Sub mytime()

Worksheets(“Sheet1”).Cells(1,2).Value = Format(Now,”h:mm:ss”)

Application.OnTime Now + TimeValue("0:0:1"), "mytime"

End Sub

สุดท้ายครับเราต้องยกเลิกการดักจับเหตุการณ์ Ontime ก่อนที่จะปิดไฟล์ excel ครับ ซึ่งเราจะเขียนโปรแกรมยกเลิกการดักจับเหตุการณ์ Ontime ในเหตุการณ์ก่อนปิดไฟล์ excel ซึ่งจะใช้ฟังก์ชัน Workbook_BeforeClose ซึ่งอยู่ในส่วนของ ThisWorkbook ได้ดังนี้

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime Now + TimeValue("0:0:1"), "mytime", False
End Sub

เรามาดูผลการทำงานของกระบวนการแสดงผลเวลาแบบ real time ในการใช้ excel ของเรากันเลยครับ

การใช้ excel

ภาพที่ 1 ฟังก์ชัน excel ในส่วนของ ThisWorkbook

การใช้สูตร excel-1ภาพที่ 2 กระบวนการ mytime ในส่วนของ Module1

ผลการใช้สูตร excel

ภาพที่ 3 การแสดงเวลาแบบ Real Time ใน excel

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


วันเสาร์ที่ 4 กุมภาพันธ์ พ.ศ. 2555

การใช้ excel แก้ปัญหาการลบช่องว่างในข้อความไม่ได้

การใช้ excel ฉบับนี้อาจจะย้อนไปกล่าวถึงปัญหาการใช้สูตร excel : Trim เพื่อลบช่องว่างภายในข้อความก่อนนำข้อความดังกล่าวไปค้นหาในสูตร excel :vlookup ซึ่งในบทความฉบับนั้นได้กล่าวถึงการแก้ปัญหาโดยการใช้สูตร excel : left เนื่องจากเราทราบจำนวนอักขระที่ต้องการไปใช้งานที่แน่นอนนั่นเองครับ ปัญหาที่เราไมสามารถลบช่องว่างหรือหาตำแหน่งช่องว่างในข้อความไม่ได้นั้น โดยส่วนใหญ่จะพบในข้อความที่เราได้มากจาก Aplication อื่นๆ เช่น website หรือโปรแกรมทางธุรกิจอื่นๆ เช่น Express เป็นต้น การใช้ excel การแก้ปัญหาดังกล่าว จะเริ่มจากตรวจสอบอักขระที่เป็นช่องว่างดังกล่าวก่อนโดยใช้สูตร excel : code เพื่อตรวจสอบรหัส Ascii ของช่องว่างดังกล่าว โดยทั่วไปหากเป็นช่องว่างที่เกิดจากการเคาะ space bar หลายๆครั้ง สูตร excel : code จะคืนค่ารหัส Ascii = 32 มาให้ ซึ่ง เราสามารถใช้สูตร excel : trim ในการจัดการลบช่องว่างหรือใช้สูตร excel :find ในการค้นหาตำแหน่งของช่องว่างดังกล่าวเพื่อใช้ในการแบ่งข้อความนั้น แต่ปัญหาที่พบคือช่องว่างในข้อความที่มาจากโปรแกรมอื่น เช่น website หรือ การส่งออกมาจากโปรแกรมประมวลผลอื่นๆเช่น express ช่องว่างดังกล่าวหากใช้สูตร excel : code ตรวจสอบดูจะพบมีรหัส ascii = 160 ซึ่งเป็นวิธีการพิมพ์ &nbsp โดยเราจะเรียกการพิมพ์ลักษณะนี้ว่า Soft Space โดย Soft Space จะไม่สามารถใช้สูตร excel : trim ลบออกจากข้อความได้ ในการใช้ excel แก้ปัญหาดังกล่าวก่อนนำข้อความดังกล่าวไปประมวลผลต่อในการใช้ excel เราสามารถใช้สูตร excel ได้ดังนี้
  1. ใช้สูตร excel : SUBSTITUTE เพื่อแทนที่ Soft Space ด้วย ช่องว่าง
ตัวอย่างการใช้ excel
สมมุติเรามีข้อความที่ได้จากโปรแกรม express ในเซลล์ B2 โดยเป็นชื่อและนามสกุลของลูกค้า
ใช้สูตร excel : SUBSTITUTE ในเซลล์ C2 เพื่อแทนที่ Soft Space ด้วยช่องว่าง โดยเขียนสูตร excel ได้ดังนี้ C2 =SUBSTITUTE($B2,CHAR(160)," ") โดยสูตร excel : char จะคืนค่า Soft Space กลับมา
ใช้สูตร excel : left และ right ในเซลล์ D2 และ E2 เพื่อแยกชื่อและนามสกุลของลูกค้า
สูตร excel แยกชื่อ
D2 = LEFT($C2,FIND(" ",$C2)-1) สูตร excel : find ใช้หาตำแหน่งช่องว่างในข้อความ
สูตร excel แยกนามสกุล
E2 = RIGHT($C2,LEN($C2)-FIND(" ",$C2)-1)
การใช้ excel
ภาพที่ 1 ตัวอย่างการใช้สูตร excel
หวังว่าท่านผู้อ่านจะนำไปใช้แก้ปัญหาในการใช้ excel ของท่านผู้อ่านได้นะครับ อย่าลืมว่าการนำข้อมูลหรือข้อความมาจากโปรแกรมอื่นจะต้องตรวจสอบความถูกต้องของข้อมูลหรือรูปแบบของข้อมูลให้ดีก่อนนะครับ แล้วพบกันใหม่กับบทความเกี่ยวกับการใช้ excel ครับ สวัสดีครับ

วิธีการใช้เช็ค (How to used Cheque)

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

  1. วันที่จ่าย
  2. ผู้รับเช็ค
  3. จำนวนเงินสั่งจ่าย
  4. ยอดคงเหลือในบัญชี

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

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

  1. เช็คขีดคร่อมทั่วไป (Cheque crossed generally) หมายถึงขีดเส้นคู่ขนานบนมุมซ้ายด้านหน้าเช็ค เช็คประเภทนี้ที่มีคำสั่งห้ามโอนเปลี่ยนมือจะมีคำดังต่อไปนี้
    1. A/C Payee Only หมายถึงโอนเข้าบัญชีผู้รับเงินเท่านั้น
    2. Not Transferable คือ ห้ามโอน
    3. Not Negotiable คือห้ามเปลี่ยนมือ
  2. เช็คขีดคร่อมเฉพาะ (Cheque crossed specially) หมายถึงเช็คที่มีการลงชื่อธนาคารใดธนาคารหนึ่งภายในระหว่างเส้นคู่ขนานบนหน้าเช็คนั้น ผู้ทรงเช้คจะต้องนำเช็คประเภทขีดคร่อมเฉพาะไปฝากเข้าบัญชีเงินฝากของตนและบัญชีเงินฝากนั้นต้องเป็นบัญชีเงินฝากของธนาคารที่ระบุไว้ในเส้นคู่ขนานที่ขีดคร่อมหน้าเช็คเท่านั้น

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

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

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

Yahoo bot last visit powered by  Ybotvisit.com