วันศุกร์ที่ 25 กรกฎาคม พ.ศ. 2557

สูตร Excel การใช้ Vba ทำตัวพิมพ์เล็ก หรือ ตัวพิมพ์ใหญ่ให้กับ ตัวอักษร

สูตร Excel การใช้ Vba ทำตัวพิมพ์เล็ก หรือ ตัวพิมพ์ใหญ่ให้กับ ตัวอักษร อย่างที่เราทราบกันดีว่า Excel มีสูตรที่ใช้ทำตัวอักษร หรือข้อความใ... thumbnail 1 summary
สูตร Excel การใช้ Vba ทำตัวพิมพ์เล็ก หรือ ตัวพิมพ์ใหญ่ให้กับ ตัวอักษร

อย่างที่เราทราบกันดีว่า Excel มีสูตรที่ใช้ทำตัวอักษร หรือข้อความให้เป็นตัวพิมพ์เล็ก หรือ ตัวพิมพ์ใหญ่ได้ นั่นคือ สูตร UPPER (สำหรับทำตัวใหญ่) และ สูตร LOWER สำหรับการทำตัวอักษรหรือข้อความทั้งหมดให้กลับมาตัวเล็กดังเดิม โดยวิธีการใช้สูตรนี้ บน Excel ก็ใช้ง่ายๆเลย ไม่ยากอะไรทุกคนคงใช้กันเป็นหมดแล้ว เช่น =upper(“abcd”) แล้วกด Enter ผลลัพธ์ที่ได้ก็คือ ABCD อย่างนี้เป็นต้น ส่วน LOWER ก็คือทำให้เป็นตัวเล็ก เช่น =LOWER(“ABCD”) คำตอบที่ได้ก็จะเป็น abcd อย่างนี้...ถ้าเกิดว่าเราต้องการทำเป็นตัวพิมพ์เล็ก พิมพ์ใหญ่ โดยเขียน macro ด้วย vba นั้น เราสามารถทำได้เช่นกัน โดยเราจะใช้ ประโยชน์จากฟังก์ชั่น Excel ตัวนี้ นี่แหละทำให้....

ลองทำตามตัวอย่างนี้ดูน่ะครับ

ให้พิมพ์ที่ a1 ว่า the man is in the sky แล้วกด Enter

ที่เซลล์ b1 ให้พิมพ์ว่า ตัวพิมพ์ใหญ่ แล้วจัดรูปแบบดังภาพ หรือ ตามต้องการ

ที่เซลล์ b2 ให้พิมพ์ว่า ตัวพิมพ์เล็ก แล้วจัดรูปแบบดังภาพ หรือ ตามต้องการ

จากนั้นกด alt+f11 แล้วพิมพ์สูตร ตรวจสอบการคลิ้กที่เซลล์ B1, B2 ดังนี้

คนที่เข้ามาอ่านเว็บนี้จะเห็นว่าผมมักจะเขียนตรวจสอบการคลิ้กที่เซลล์ของ Excel เลยแทนที่จะไปเอา button มาวางแล้วก็กำหนด macro หรือ vba ให้...ที่ผมไม่เอามา command button มาเพราะผมขี้เกียจจะเอามานั่นแหละครับไม่มีไรมาก เพราะการกำหนด macro ให้ command button มันก็ไม่ได้ให้ผลลัพธ์แตกต่างอะไร เราแค่ assign macro ให้ก็เท่านั้นเอง ไม่ยาก...หากว่าต้องการจะเอ command button มาก็ตามสะดวกครับ

เอาละใส่โค้ดต่อไปนี้ลงไป

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address = Range("b1").Address Then

Range("a1").Value = "=" & "upper(" & """" & Range("a1").Value & """" & ")"

End If



If Target.Address = Range("b2").Address Then

Range("a1").Value = "=" & "lower(" & """" & Range("a1").Value & """" & ")"

End If



End Sub

หรือจะใช้สูตร สั้นๆดังนี้ก็ได้
(or you can use this code)

สำหรับทำตัวพิมพ์ใหญ่ (UPPER)
'when click on b1
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range("b1").Address Then
Range("a1").Value = UCase(Range("a1").Value)
End If
End Sub







สำหรับทำตัวพิมพ์เล็ก (LOWER)
'when click on b2
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range("b2").Address Then
Range("a1").Value = LCase(Range("a1").Value)
End If
End Sub

จากนั้นกด Alt+f11 กลับมาที่ excel แล้วทดสอบการทำงานดู โดยคลิ้กที่เซลล์ b1 หรือ b2 ดู เราจะเห็นว่า ตัวหนังสือ กลายเป็นตัวพิมพ์ใหญ่ให้เรา และเมื่อคลิ้กที่ทำตัวพิมพ์เล็ก มันก็จะกลายเป็นตัวพิมพ์เล็กให้เราครับ....




อันนี้คือภาพของ Source Code ด้านบนนั่นแหละครับ เพียงแต่ผมจับเป็นภาพมาให้ดูชัดๆก็เท่านั้นเองครับ

ส่วนภาพด้านล่างนี้คือผลการทำงาน เมื่อเราคลิ้กที่ ตัวพิมพ์ใหญ่ ตัวหนังสือทั้งหมดจะกลายเป็นแบบ UPPER (ตัวใหญ่) ทันที





และเมื่อเราคลิ้กที่ ทำตัวพิมพ์เล็ก ตัวหนังสือ THE MAN IS IN THE SKY จะกลายเป็นตัวพิมพ์เล็ก หรือ LOWER ทันที เช่นกัน





เห็นไหมละครับ บางครั้งเราก็ไม่จำเป็นต้องเขียนอะไรที่มันพิสดารเลย เราแค่ประยุกต์ให้เป็นก็จะได้งานตามที่เราต้องการแล้ว....

สำหรับการใช้ Excel ในวันนี้ก็ขอจบเพียงเท่านี้ครับ..ขอตัวไปกินมาม่าก่อนครับ หิวแล้ว..


tags : vba พิมพ์เล็กเป็นพิมพ์ใหญ่, Lower or Upper Character With VBA ON EXCEL, vba excel lower, vba excel upper, lower character, upper character