ใส่สี ควบคุมขนาดตัวอักษรผ่าน Scrollbar โดยใช้ vba
ใน Excel นอกจากเราจะสามารถใส่สี เลือกขนาด Font แบบปกติธรรมดาโดยการเลือกในส่วนของ Font ที่อยู่ในแท็บ home แล้วเรายังสามารถใส่สีผ่านการเขียนโค้ดด้วย vba ได้อีกด้วย โดยเราจะสร้างฟอร์มขึ้นมา 1 ฟอร์ม พร้อมกับใส่ control scrollbar เข้าไปบนฟอร์ม เมื่อมีการเลื่อนที่แถบ scrollbar ก็จะให้ใส่สีที่ userform รวมถึงกำหนดสีให้กับข้อความที่อยู่ในเซลล์บน Excel อีกด้วย
โดยเราจะใช้ control scrollbar ที่อยู่บน toolbox ที่อยู่บนหน้าต่างออกแบบ vba ตัวอย่างนี้นอกจากจะใส่สีแล้ว เรายังนำ scrollbar มาเพิ่มขนาดของ font ที่อยู่ใน cell ของ excel ด้วย โดยสั่งงานผ่าน scrollbar ที่อยู่บน userform1
โดยให้เราทำตามขั้นตอนต่อไปนี้เพื่อบรรลุวัตถุประสงค์ของตัวอย่างนี้
1. เปิด Excel ขึ้นมา
(open excel)
2. พิมพ์ที่เซลล์ a1 ว่า “566” หรือ ข้อความอื่นๆตามที่เราต้องการ
(type “566” on cell a1 or type any value as you want)
3. กด alt+f11 เพื่อไปยัง vba
(press alt+f11 to design program by vba)
4. เพิ่ม userform1 เข้ามาใน project
(add 1 userform1)
5. เพิ่ม scrollbar มา 4 ตัว ใส่บน userform1
(add 4 scrollbars on userform1)
6. กำหนดค่า min=0, max = 255 สำหรับ scrollbar 1 ถึง 3 ส่วน scrollbar 4 ให้กำหนด min=8, max =100
(assign min=0, max=255 for scrollbar 1 to 3, and scrollbar 4 assign min=8, max =100)
7. เพิ่ม label 8 ตัว โดยที่ ตัวที่ 1 ถึง ตัวที่ 4 ให้วางไว้ด้านบน scrollbar แต่ละตัว ส่วน ตัวที่ 5 ถึง 8 วางไว้ใต้ scrollbar แต่ละตัว
label ตัวแรก กำหนด caption เป็น Red แล้วใส่สีแดงให้ตัวหนังสือด้วย
label ตัวที่สอง กำหนด caption เป็น green แล้วใส่สีเขียวให้ตัวหนังสือด้วย
label ตัวที่สาม กำหนด caption เป็น blue แล้วใส่สีน้ำเงินให้ตัวหนังสือด้วย
label ตัวที่สี่ กำหนด caption เป็น Font size แล้วใส่สีชมพูให้ตัวหนังสือด้วย
ส่วน label ตัวที่ 5 ถึง 8 ไม่ต้องใส่ caption (ข้อความกำกับ) แต่ให้กำหนดค่า borderstyle เป็น 1- frmborderstylesingle ด้วย
8. คลิกขวาบน userform1 แล้วเลือก view code และใส่โค้ดเหล่านี้ลงไป
Private Sub ScrollBar1_Change() 'red
Me.BackColor = RGB(ScrollBar1.Value, ScrollBar2.Value, ScrollBar3.Value)
Label5.Caption = ScrollBar1.Value & " %"
Range("a1").Characters.Font.Color = Me.BackColor
End Sub
Private Sub ScrollBar2_Change() 'green
Me.BackColor = RGB(ScrollBar1.Value, ScrollBar2.Value, ScrollBar3.Value)
Label6.Caption = ScrollBar2.Value & " %"
Range("a1").Characters.Font.Color = Me.BackColor
End Sub
Private Sub ScrollBar3_Change() 'blue
Me.BackColor = RGB(ScrollBar1.Value, ScrollBar2.Value, ScrollBar3.Value)
Label7.Caption = ScrollBar3.Value & " %"
Range("a1").Characters.Font.Color = Me.BackColor
End Sub
Private Sub ScrollBar4_Change()
Range("a1").Characters.Font.Size = ScrollBar4.Value
Label8.Caption = ScrollBar4.Value
End Sub จากนั้นกด F5 เพื่อสั่งรันโปรแกรม แล้วลองใช้งานโปรแกรมดู โดยให้ลองเลื่อน scrollbar ดู เราจะเห็นว่า มีการผสมสีเกิดขึ้น สีของพื้นหลังของฟอร์มก็จะเปลี่ยนไป และ สีตัวอักษรที่เซลล์ A1 ก็จะเปลี่ยนไปด้วย ... ถ้าหากเลื่อน scrollbar ตัวที่ 4 ก็จะเป็นการเพิ่มขนาดตัวอักษรให้กับข้อความที่อยู่ในเซลล์ A1 ด้วย