ดัชนีสี VBA | วิธียอดนิยมในการใช้คุณสมบัติดัชนีสีใน Excel VBA

ดัชนีสีของ 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 สี ด้านล่างนี้คือรายการรหัสสีที่ซ้ำกัน