Note: The other languages of the website are Google-translated. Back to English
English English

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

ใน 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 สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (3)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ใครสามารถให้สมุดงานตัวอย่างเพื่อให้ฉันเห็นการทำงานนี้ ฉันพยายามต่อไป แต่ก็ไม่มีประโยชน์ ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สำหรับฉัน เมื่อพยายามเปลี่ยนค่าสีของกล่องข้อความตามค่าเซลล์สองค่า กล่องข้อความจะอัปเดตก็ต่อเมื่อคุณพิมพ์บางอย่างลงในกล่องข้อความ ฉันต้องการให้อัปเดตโดยอัตโนมัติ เดาว่าฉันจะต้องเรียนรู้ VBA เพื่อหาสาเหตุ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่เป็นไร ฉันคิดออกแล้ว แทนที่จะสร้างเหตุการณ์ที่ทำให้เกิดการเปลี่ยนแปลง "Textbox1_GotFocus()" ฉันทำให้เป็น "Worksheet_SelectionChange(ByVal Target As Range)" ตอนนี้เมื่อใดก็ตามที่ค่าในเซลล์ใดเซลล์หนึ่งเปลี่ยนแปลง สีของกล่องข้อความจะเปลี่ยนโดยอัตโนมัติ
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ