Ogni volta che aggiungi o elimini elementi nel listbox ti conviene ripopolare i textbox in funzione degli elementi contenuti nel listbox stesso.
Parrebbe che tu stessi usando un un numero predeterminato di TextBox, se è così puoi usare una routine che faccia questo lavoro automaticamente:
codice:
Private Sub AggiornaTextBox()
Dim i As long
' per ogni 'TextBox' presente sul form
For i = 0 to TextBox.UBound
' se esiste un elemento in List1
If i <= List1.ListCount - 1 Then
' aggiorno il TextBox corrispondente
TextBox(i).Text = List1.List(i)
TextBox(i).Visible = True
Else
' non esiste alcun elemento per questo textbox, lo nascondo
TextBox(i).Visible = False
End If
Next i
End Sub
Poi ogni volta che esegui
List1.AddItem ... oppure List1.RemoveItem ...
Dovrai eseguire anche la routine
AggiornaTextBox
Nota che se popoli List1 con una sequenza di AddItem, allora conviene eseguire AggiornaTextBox una sola volta, alla fine della sequenza.