In effetti ci sono parecchi errori.
1. L'Invalid Cast Exception sorge quando tenti di confrontare il contatore i con un tipo String ( o Char... ). Vabbeh che VB è più tollerante riguardo le conversioni implicite dei tipi, ma non fino a questo punto !
Io ti avevo infatti suggerito :
Codice:
If TextBox1.Text(i) = "a" Then
...
End If
2. Hai messo le istruzioni di controllo fuori dal For.
3. Usi "+" anzichè "&" per concatenare ( errore lieve dato che VB capisce anche il +, ma & è più specifico del linguaggio ).
4. Infine l'uso della ListBox non mi è chiaro. Usi .Text che ritorna la String dell'elemento corrente selezionato in lista, e tenti di modificarlo... Forse intendevi .Items.Add()...