ไปยังเนื้อหาหลัก

วิธีเปลี่ยนสีกล่องข้อความตามค่าใน Excel

ผู้เขียน: Xiaoyang แก้ไขล่าสุด: 2017-12-14

ใน Excel เราสามารถใช้ฟังก์ชันการจัดรูปแบบตามเงื่อนไขเพื่อเปลี่ยนสีพื้นหลังตามค่าของเซลล์ แต่ในบทความนี้ฉันจะพูดถึงวิธีการเปลี่ยนสีกล่องข้อความตามค่าหรือค่าของเซลล์ในกล่องข้อความ

เปลี่ยนสีกล่องข้อความตามค่าของเซลล์ด้วยรหัส VBA

เปลี่ยนสีกล่องข้อความตามค่าในกล่องข้อความด้วยรหัส VBA


ลูกศรสีฟ้าฟองขวา เปลี่ยนสีกล่องข้อความตามค่าของเซลล์ด้วยรหัส VBA

สมมติว่าถ้าค่าเซลล์ใน A1 มากกว่าค่าเซลล์ใน B1 ฉันต้องการให้กล่องข้อความเต็มไปด้วยสีแดงในทางตรงกันข้ามกล่องข้อความควรเต็มไปด้วยสีเหลือง โปรดบรรลุงานนี้โดยทำตามขั้นตอนต่อไปนี้:

1. แทรกกล่องข้อความโดยคลิก ผู้พัฒนา > สิ่งที่ใส่เข้าไป > กล่องข้อความ (ActiveX Control)จากนั้นวาดกล่องข้อความดูภาพหน้าจอ:

สีกล่องข้อความ doc ตามค่า 1

2. จากนั้นคลิกขวาที่กล่องข้อความและเลือก ดูรหัส จากเมนูบริบทเพื่อเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน จากนั้นแทนที่รหัสเดิมด้วยรหัส VBA ต่อไปนี้ลงในโมดูลเปล่า:

รหัส VBA: เปลี่ยนสีกล่องข้อความตามค่าของเซลล์:

Private Sub TextBox1_Change()
    If ActiveSheet.Range("A1").Value > ActiveSheet.Range("B1").Value Then
        Me.TextBox1.BackColor = vbRed
    Else
        Me.TextBox1.BackColor = vbYellow
    End If
End Sub

สีกล่องข้อความ doc ตามค่า 2

หมายเหตุ: ในโค้ดด้านบน กล่องข้อความ 1 คือชื่อกล่องข้อความที่คุณแทรก A1 และ B1 เป็นเซลล์สองเซลล์ที่คุณต้องการเปลี่ยนสีกล่องข้อความตามโปรดเปลี่ยนตามความต้องการของคุณ

3. จากนั้นบันทึกและปิดหน้าต่างรหัสและออกจากไฟล์ โหมดการออกแบบตอนนี้ถ้าเซลล์ A1 มากกว่า B1 เมื่อคุณพิมพ์ข้อความในกล่องข้อความก็จะเต็มไปด้วยสีแดงและถ้า A1 น้อยกว่า B1 เมื่อป้อนค่าในกล่องข้อความจะเต็มไปด้วยสีเหลือง ดูภาพหน้าจอ:

สีกล่องข้อความ doc ตามค่า 3


ลูกศรสีฟ้าฟองขวา เปลี่ยนสีกล่องข้อความตามค่าในกล่องข้อความด้วยรหัส VBA

หากคุณต้องการเปลี่ยนสีกล่องข้อความตามค่าในกล่องข้อความตัวอย่างเช่นเมื่อค่าในกล่องข้อความอยู่ระหว่าง 1 ถึง 10 สีที่เติมของกล่องข้อความจะเป็นสีแดงสีของกล่องข้อความจะเป็นสีเขียวหากค่าอยู่ระหว่าง 11 ถึง 20 หากเป็น ค่าอื่น ๆ สีกล่องข้อความเป็นสีเหลือง เพื่อจัดการกับงานนี้โปรดใช้รหัส VBA ด้านล่าง

1. หลังจากใส่กล่องข้อความแล้วให้คลิกขวาแล้วเลือก ดูรหัส จากเมนูบริบทเพื่อเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน จากนั้นแทนที่รหัสเดิมด้วยรหัส VBA ต่อไปนี้ลงในโมดูลเปล่า:

รหัส VBA: เปลี่ยนสีกล่องข้อความตามค่าในกล่องข้อความ:

Private Sub TextBox1_Change()
    On Error Resume Next
    Select Case TextBox1.Value
        Case 1 To 10:
            TextBox1.BackColor = vbRed
        Case 11 To 20:
            TextBox1.BackColor = vbGreen
        Case Else:
            TextBox1.BackColor = vbYellow
    End Select
End Sub

สีกล่องข้อความ doc ตามค่า 4

หมายเหตุ: ในโค้ดด้านบน กล่องข้อความ 1 คือชื่อของกล่องข้อความที่คุณแทรกและคุณสามารถเปลี่ยนค่าและสีพื้นหลังภายในโค้ดให้เป็นของคุณเองได้

2. จากนั้นบันทึกและปิดหน้าต่างรหัสและออกจากไฟล์ โหมดการออกแบบตอนนี้หากคุณป้อนค่าระหว่าง 1 ถึง 10 ลงในกล่องข้อความสีพื้นหลังจะกลายเป็นสีแดงค่าระหว่าง 11 ถึง 20 สีพื้นหลังของกล่องข้อความจะกลายเป็นสีเขียวค่าอื่น ๆ จะกลายเป็นสีเหลืองดังภาพหน้าจอต่อไปนี้:

สีกล่องข้อความ doc ตามค่า 5


บทความที่เกี่ยวข้อง:

จะแทรกรูปภาพลงในกล่องข้อความได้อย่างไร?

จะตั้งค่าเริ่มต้นในกล่องข้อความได้อย่างไร?

จะอนุญาตให้ป้อนเฉพาะตัวเลขในกล่องข้อความได้อย่างไร?

จะใช้การตรวจสอบการสะกดในช่องข้อความได้อย่างไร?

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

รายละเอียด


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Nevermind, I figured it out. Instead of making the event which triggers the change "Textbox1_GotFocus()", I made it "Worksheet_SelectionChange(ByVal Target As Range)". Now any time the value in one of the cells changes, the textbox color changes automatically.
This comment was minimized by the moderator on the site
For me, when trying to change the textbox color value based on two cell values, the textbox only updates if you type something into the textbox. I need it to update automatically. Guess I'll just have to learn VBA to figure out why.
This comment was minimized by the moderator on the site
Can someone provide an example workbook so I can see this working? I keep trying but to no avail. Thanks
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations