single page

แปลงเลขอารบิกเป็นเลขไทย


:)  ผมเป็นอาจารย์สอนหนังสืออยู่มหาวิทยาลัยเนชั่น จังหวัดลำปาง
บุรินทร์ รุจจนพันธุ์


การแปลงเลขอารบิกเป็นเลขไทยด้วย macro

10 ก.พ.53 เรื่องนี้ควรเขียนเมื่อหลายเดือนก่อนหน้านี้ เพราะ ผศ.ดร.จินดา งามสุทธิ ท่านอธิการบดี รณรงค์ให้ใช้เลขไทยในบันทึกข้อความ แต่ความไม่ชินและความมักง่าย ทำให้ผมเลือกใช้วิธีแปลงเลขอารบิกด้วยการ replace ถึง 10 ครั้ง เพื่อเปลี่ยนตัวเลขทีละตัว แต่ถ้าให้อัตโนมัติก็จะเข้าไปกำหนดใน autocorrect สำหรับแต่ละตัวเลข แต่ใช้ได้กับเลขหลักเดียว ก็ช่วยได้เพียงระดับหนึ่ง (วันนี้ผมเคลียร์งานเขียนแผน km ของมหาวิทยาลัยล้อกับโครงการอบรมประกันฯของ อ.ศศิวิมล แรงสิงห์ เสร็จเร็วกว่าที่คาด) จึงคิดว่าถึงเวลาที่ไม่ควรผลัดวันประกันพรุ่งอีกต่อไป เมื่อศึกษาวิธีการแทนที่ตัวเลขด้วย macro ที่เขียนแบบใช้ใน word กับ excel เผยแพร่ใน thaiall.com/vb เพราะ macro ใช้ visual basic script ใน module สำหรับการประมวลผล
แหล่งเก็บ macro มี 2 แบบคือ ใน normal หรือ ใน document ถ้าเป็นแบบใน document เมื่อสร้างเอกสารก็จะติดเอกสารไป เปิดเอกสารใหม่จะไม่พบ macro เดิม แต่ถ้าเป็นแบบใน normal จะมี macro ติดอยู่ใน template ของ word ทำให้เปิด word แล้วเรียกใช้ macro ได้ทุกครั้ง สำหรับวิธีสร้างและใช้ macro นั้นเริ่มต้นด้วยการคัดลอกโค้ดไปใส่ใน module ของ macro แล้วสั่ง run ใน macro เมื่อต้องการเปลี่ยนตัวเลขทั้งหมดเป็นเลขไทย ซึ่งโค้ดได้สั่งแทนที่ทั้ง 10 ตัวอักษรเป็นเลขไทยอัตโนมัติ การนำไปใช้สำหรับ word กับ excel ต่างกันเล็กน้อย ถ้านำไปใส่ไม่ได้ โปรดติดต่อช่างเทคนิคใกล้บ้าน เพราะส่งเข้า word ครั้งเดียว แต่ใช้งานได้ตลอดไป .. ต่อไปผมก็จะเริ่มใช้แล้ว เพราะ replace 10 ครั้ง ไม่ดีแน่

source code : macro of word

Sub arabictothai()
For i = 0 To 9
With Selection.Find
.Text = Chr(48 + i)
.Replacement.Text = Chr(240 + i)
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub

source code : macro of excel

Sub arabictothai()
For i = 0 To 9
Cells.Replace What:=Chr(48 + i), Replacement:=Chr(240 + i)
Next
End Sub

การแปลงเลขใน excel

1. ถ้าเป็น excel ไม่ต้องใช้ function ให้กด Ctrl-A แล้วกำหนด format ของ cell ใน Number,  Custom เป็น [$-D07041E]0 ก็จะทำให้ข้อมูลที่เป็นตัวเลขทั้งหมดเป็นเลขไทย
2. ถ้าต้องการมี , กั้นหลักพันก็ใช้ [$-D07041E]#,###,##0 อะไรทำนองนี้ ok ไหมครับ

สาธิต : http://www.youtube.com/watch?v=JNy15bLnt9k
ข้อมูลเพิ่มเติม : http://www.thaiall.com/blog/burin/1496/

คำสำคัญ: , ,



22 ความคิดเห็น

  1. ละอองฟ้า ฮอลล์ says:

    ดีมาก ๆๆๆๆๆ เลยค่ะ ไม่นึกว่าจะมี ขอบคุณมากค่ะ

  2. datsun says:

    เจ๋งกว่าที่ ICT แนะนำอีกครับ
    ขอบคุณครับ

  3. khanarat says:

    เปลี่ยนใน exel แล้วแต่ไม่มีเครื่อง , ขั้นหน่วยพัน ต้องทำอย่างไร

  4. sakee says:

    ขอวิธีทำ แมโคร excel แบบ normal ได้มั้ย อยากลองทำดูครับ

    ขอบคุณครับ

  5. fang says:

    ทำไมแปลงไม่ได้อ่ะคะ

  6. chirasak says:

    สุดยอด ขอบคุณมาก ไม่ต้งอไปแก้ไขทีละตัว
    จาก ผอ. โรงเรียนคลองรางจาก ครับ

  7. noui says:

    ขอบคุณมากค่ะ ทำง่ายไม่ยุ่งยาก

  8. p2 says:

    ดีครับทำเหมือนกัน… ส่วน Excel ก็ไปตั้งค่า cel เอาก็ใช้ได้อีกแบบครับ…..

  9. At says:

    ขอบคุณสำหรับคำแนะนำ มีประโยชน์มากๆๆๆๆๆ

  10. นก says:

    ขอบคุณมาก ๆ นะค่ะ

  11. pum says:

    ช่วยบอกวิธีใส่ลูกน้ำใน excell อย่างละเอียดได้มั้ย ค่ะ
    พอดีทำไม่ได้อะค่ะ

  12. ลัดดา says:

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

  13. บุรินทร์ says:

    การเปลี่ยนรูปแบบเป็นเลขไทยใน excel ก็เลือก cell ที่ต้องการเปลี่ยนก่อน
    แล้วคลิ๊ก menu bar, format, cells, Number, Custom
    แล้วพิมพ์ t0 หรือ t##,##0 ครับ

  14. กาญจนา says:

    เริ่ดมากเลยค่ะ ขอบคุณค๊าบบบบบบบบบ

  15. kerdyu says:

    พอทำแล้วมันกลายเป็นพิมพ์เลขอารบิคไม่ได้ค่ะ

  16. wana says:

    ดีมากๆ ขอบคุณหลายเด้อ

  17. jang says:

    thank you so much

  18. ืnuch says:

    ขอบคุณมากค่ะ เป็นประโยชน์อย่างยิ่ง

  19. Chi says:

    มีประโยชน์มาก ขอบพระคุณมากๆครับ

  20. says:

    สุดยอดไปเลยอ่ะค่ะ หาตั้งนาน วิธีนี้ถูกใจที่สุดเลยค่ะ

  21. พรพัส says:

    วิธีแปลงเลขไทยเป็นอารบิก

  22. แนท says:

    มันกลายเป็นตัวเลข อะไรก็ไม่รู้ค่ะ เหมืนอภาษาต่างดาว ต้องแก้อย่างไรค่ะ

เขียนความคิดเห็นของท่าน