Không thể thay đổi thuộc tính ListBox của một biểu mẫu VBA trong Excel

Jan 06 2021

Không thể thay đổi các thuộc tính ListBox (TextColor, BorderColor, BackColor…) từ trong thủ tục sự kiện ListBox. Thí dụ:

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

Điều này không có hiệu lực. Từ bên trong một Đăng ký khác, nó hoạt động bình thường.

Trả lời

Vityata Jan 06 2021 at 19:09

DblClick() là sự kiện bạn đang tìm kiếm:

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

Nhưng có rất nhiều cách tốt hơn để làm điều đó:

  • https://codereview.stackexchange.com/questions/154401/handling-dialog-closure-in-a-vba-user-form
  • https://www.vitoshacademy.com/vba-the-perfect-userform-in-vba/ (tuyên bố từ chối trách nhiệm - bài viết của tôi)