Impossibile modificare le proprietà ListBox di un modulo VBA in Excel

Jan 06 2021

Non è possibile modificare le proprietà ListBox (TextColor, BorderColor, BackColor…) dall'interno della routine evento ListBox. Esempio:

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

Questo non ha effetto. Dall'interno di un altro Sottotitoli funziona normalmente.

Risposte

Vityata Jan 06 2021 at 19:09

DblClick() è l'evento che stai cercando:

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

Ma ci sono molti modi migliori per farlo:

  • https://codereview.stackexchange.com/questions/154401/handling-dialog-closure-in-a-vba-user-form
  • https://www.vitoshacademy.com/vba-the-perfect-userform-in-vba/ (disclaimer - il mio articolo)