Claro que si eres de gran ayuda pkj está muy bien explicado tú codigo, solo una cosita no soy muy amigo de los goto(:-p) y la función con una pequeña modificación y para que no tome en cuenta los repetidos:
Código vb:
Ver originalPrivate Sub List1_Click()
Dim nombreainsertar As String
Dim bandera As Boolean
nombreainsertar = List1.Text
For f = 0 To UBound(tabla) - 1
If tabla(f).nombre = nombreainsertar Then
bandera = True
Exit For
End If
Next f
If Not bandera Then
f = UBound(tabla)
tabla(f).nombre = nombreainsertar
ReDim Preserve tabla(f + 1)
Else
MsgBox "El valor ya ha sido agregado"
End If
End Sub
Una vez que hayas seleccionado todo los datos que quieras almacenar lees el arreglo y dando clic en el botón guardar vas a enviar elemento por elemento a la base de datos, así:
Código vb:
Ver originalSub guardar()
cnn.Open
Set rst = New ADODB.Recordset
For i = 0 To UBound(tabla) - 1
With rst
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open "INSERT INTO Clientes VALUES ('" & tabla(i).nombre & "')", cnn
End With
Next
cnn.Close
End Sub
Este es solo un ejemplo, de ahi puedes adecuarlo a tus necesidades. Cualquier duda postealea