senza contare che, anche se volessi usare le variabili booleane questo:

codice:
If (etalst.ListIndex <> -1) Then
eta = True
Else
eta = False
End If
può essere scritto anche così se non vado errato:

codice:
eta = (etalst.ListIndex <> -1)
ps: il vb6 conosce l'operatore ternario?

risparmi più della metà del codice.. e cmq meglio se messo tutto nell'ultima if come consigliato