ไม่สามารถเปลี่ยนคุณสมบัติ ListBox ของฟอร์ม VBA ใน Excel

Jan 06 2021

ไม่สามารถเปลี่ยนคุณสมบัติ ListBox (TextColor, BorderColor, BackColor ... ) จากภายในกระบวนงานเหตุการณ์กล่องรายการ ตัวอย่าง:

Private Sub MyListBox_Click()
  MyListBox.BackColor = vbGreen
End Sub

สิ่งนี้ไม่มีผลใด ๆ จากภายใน Subs อื่นจะทำงานได้ตามปกติ

คำตอบ

Vityata Jan 06 2021 at 19:09

DblClick() เป็นกิจกรรมที่คุณกำลังมองหา:

Private Sub MyListBox_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    MyListBox.BackColor = vbRed
End Sub

แต่มีวิธีที่ดีกว่านี้มากมาย:

  • https://codereview.stackexchange.com/questions/154401/handling-dialog-closure-in-a-vba-user-form
  • https://www.vitoshacademy.com/vba-the-perfect-userform-in-vba/ (ข้อจำกัดความรับผิดชอบ - บทความของฉัน)