ดัชนีสีของ Excel VBA
เช่นเดียวกับในแผ่นงานเราเปลี่ยนสีของเซลล์หรือช่วงเซลล์ที่กำหนดจากแท็บหน้าแรกใน VBA เรามีฟังก์ชัน vba ที่เรียกว่าเป็นดัชนีสีซึ่งใช้ในการเปลี่ยนสีของเซลล์หรือช่วงของเซลล์ที่มีให้ฟังก์ชันนี้มีการระบุเฉพาะสำหรับสีประเภทต่างๆ
ใน VBA เรามีสองวิธีในการใช้สีวิธีแรกคือการใช้คุณสมบัติ "สี" และวิธีที่สองใช้คุณสมบัติ "ColorIndex"
เราใช้สีกับเซลล์เป็นสีพื้นหลังเราใช้สีตัวอักษรและใช้สีเส้นขอบ ดังนั้นในการเข้าถึงคุณสมบัติดัชนีสีและสีเราต้องเลือกเซลล์ก่อน
จะใช้ Color & Color Index Property ได้อย่างไร?
คุณสามารถดาวน์โหลดเทมเพลต VBA Color Index ได้ที่นี่ - VBA Color Index Template# 1 - การใช้คุณสมบัติสี
สมมติว่าคุณมีคำว่า“ สวัสดี” ในเซลล์ A1 เราจะดูวิธีการใช้สีพื้นหลังของเซลล์นี้
ในการเปลี่ยนสีพื้นหลังในคุณสมบัติสีเราต้องพูดถึงช่วงของเซลล์ก่อน
รหัส:
Sub Color () ช่วง ("A1") End Sub
หลังจากเลือกเซลล์แล้วเราต้องพูดถึงสิ่งที่เราต้องทำ อย่างที่บอกว่าเราต้องเปลี่ยนสีภายในของเซลล์ ดังนั้นในการเปลี่ยนสีพื้นหลังของเซลล์ให้ใช้คุณสมบัติ "ภายใน"
รหัส:
Sub Color () ช่วง ("A1"). Interior End Sub
ภายใต้คุณสมบัติภายในเรามีวิธีการและคุณสมบัติอื่น ๆ อีกมากมาย เนื่องจากเราจำเป็นต้องเปลี่ยนสีของเซลล์ให้ใช้คุณสมบัติสี
รหัส:
Sub Color () ช่วง ("A1"). Interior.Color = End Sub
ที่นี่เราสามารถใช้ 8 สีที่ตั้งชื่ออย่างต่อเนื่อง ด้านล่างนี้คือรายการเดียวกัน
vbBlack, vbRed, vbGreen, vbBlue, vbYellow, vbMagenta, vbCyan, vbWhiteเลือกประเภทสีตามที่คุณต้องการ
รหัส:
Sub Color () ช่วง ("A1") Interior.Color = vbBlue End Sub
ถ้าฉันเรียกใช้รหัสนี้โดยใช้ปุ่ม F5 หรือด้วยตนเองมันจะเปลี่ยนสีพื้นหลังของเซลล์ A1 เป็นvbBlue
เช่นนี้คุณสามารถใช้สีอื่น ๆ ที่มีชื่อคงที่ ลองใช้เพื่อทดสอบผลลัพธ์
นอกจากสีคงที่ทั้ง 8 สีแล้วเรายังสามารถเติมสีต่างๆได้อีกด้วยโดยใช้ฟังก์ชัน RGB ใน VBA
รหัส:
Sub Color () ช่วง ("A1"). Interior.Color = RGB (End Sub
เราจำเป็นต้องใส่ตัวเลขผสมระหว่างสีแดงเขียวและน้ำเงิน ในการใช้สิ่งนี้คุณควรกรอกตัวเลขให้สมบูรณ์ ฉันป้อนส่วนผสมเป็นRGB (250, 200, 150)
รหัส:
Sub Color () ช่วง ("A1") Interior.Color = RGB (250, 200, 150) End Sub
การเปลี่ยนสีเป็นแบบนี้
ปัญหาคือคุณไม่ทราบแน่ชัดว่าหมายเลขใดมีสีอะไร
โค้ดด้านล่างคือการเปลี่ยนสีตัวอักษร
รหัส:
Sub Color_Font () ช่วง ("A1") Font.Color = RGB (100, 400, 100) End Sub
เรียกใช้รหัสนี้โดยใช้ปุ่ม F5 หรือด้วยตนเองเพื่อรับผลลัพธ์
# 2 - การใช้คุณสมบัติดัชนีสี
ดัชนีสีแตกต่างจากคุณสมบัติของสีเล็กน้อย ในคุณสมบัติ COLOR เราใช้สีคงที่ 8 สีที่กำหนดโดย VBA และการใช้ฟังก์ชัน RGB เราสร้างสีของเราเอง
คุณสมบัติ COLOR INDEX ถูก จำกัด ใน VBA สามารถเก็บค่าได้ตั้งแต่ 1 ถึง 56 แต่ละตัวเลขตั้งแต่ 1 ถึง 56 จะมีสีที่แตกต่างกัน ด้านล่างนี้คือหมายเลขรายการและสีตามลำดับ
ด้านล่างนี้คือรหัสมาโครเพื่อเปลี่ยนสีพื้นหลังของเซลล์ A1 เป็นสีชมพู
รหัส:
Sub ColorIndex_Cell () ช่วง ("A1") Interior.ColorIndex = 26 End Sub
เรียกใช้รหัสนี้ด้วยตนเองหรือใช้ปุ่ม F5 เพื่อดูผลลัพธ์
ด้านล่างนี้คือโค้ดมาโครสำหรับเปลี่ยนสีฟอนต์ของเซลล์ A1 เป็นสีเหลือง
รหัส:
Sub ColorIndex_Font () ช่วง ("A1") Font.ColorIndex = 27 End Sub
เรียกใช้รหัสนี้โดยใช้ปุ่ม F5 หรือคุณสามารถเรียกใช้ด้วยตนเองและดูผลลัพธ์
สิ่งสำคัญอย่างหนึ่งที่ต้องจำไว้ที่นี่คือเราสามารถป้อนตัวเลขได้ตั้งแต่ 1 ถึง 56 หากมีสิ่งใดมากกว่า 56 เราจะได้รับข้อผิดพลาด“ Subscript Out Of Range”
คุณสังเกตไหม
อย่างที่บอกคุณสมบัติ Color Index สามารถแทรกสีได้เพียง 56 สี แต่ความจริงก็คือสามารถแทรกสีที่ไม่ซ้ำกันได้เพียง 46 สีและมีสีที่ซ้ำกัน 10 สี ด้านล่างนี้คือรายการรหัสสีที่ซ้ำกัน