Modificar texto de elementos del Listbox de múltiples columnas
Hola expertos. Estoy lidiando con un listbox que no me permite modificar el contenido de las distintas columnas. Evidentemente no conozco bien el asunto pero me urge solucionarlo.
El temas es asi; tengo 4 textbox (textPreceptores, txtDomicilio, txtTelefono, txtTrabajaDesde), un ListBox(ListPreceptores, con su 4 columnas que corresponden a los texbox's) y un botón modificar (btnModificar)
La idea seria:
1ro. Seleccionar un item del listbox
2do. Que el contenido de cada columna se traslade a su correspondiente texbox
3ro. Modificar los datos que correspondan en cada uno de esos texbox y
4to. Finalmente hacer click en el botón "Modificar" para que se actualize el listbox de acuerdo a lo modificado en los texbox's luego de allí a las celdas de la fila pertinente
Hasta el punto 3 llego bien solo que no puedo actualizar todas las columnas del ListBox, solo me sale con la primera.
Esto seria lo que estoy haciendo
Private Sub BtnModificar_Click()
If ListPreceptores.ListIndex = -1 Then
MsgBox "No tiene selección activa", vbExclamation, "Atención"
Else
pre = MsgBox("Desea modificar la selección? ", vbQuestion + vbYesNo)
If pre = vbYes Then
ListPreceptores.List(ListPreceptores.ListIndex, 0) = txtPreceptor.Text
ListPreceptores.List(ListPreceptores.ListIndex, 1) = txtDomicilio.Text
ListPreceptores.List(ListPreceptores.ListIndex, 2) = TxtTelefono.Text
ListPreceptores.List(ListPreceptores.ListIndex, 3) = TxtTrabajaDesde.Text
ListPreceptores.ListIndex = -1
BtnBaja.Enabled = False
BtnModificar.Enabled = False
BtnAlta.Enabled = True
txtPreceptor = ""
txtDomicilio = ""
TxtTelefono = ""
TxtTrabajaDesde = ""
txtPreceptor.SetFocus
Else
Exit Sub
End If
End If
*******
Por las dudas mando como cargo los items, (este código es de Elsa Meyer a quien le debo tanto con cada código que ya me da cosa preguntarle mas.)
Private Sub UserForm_Initialize()
Sheets("Preceptores").Select
f = 0
For Each rgot In Sheets("Preceptores").Range("a3:a103")
If rgot <> "" Then
ListPreceptores.AddItem rgot
ListPreceptores.List(f, 1) = rgot.Offset(0, 1)
ListPreceptores.List(f, 2) = rgot.Offset(0, 2)
ListPreceptores.List(f, 3) = rgot.Offset(0, 3)
ListPreceptores.List(f, 4) = rgot.Offset(0, 4)
f = f + 1
End If
Next rgot
ListPreceptores.BoundColumn = 0
BtnBaja.Enabled = False
BtnModificar.Enabled = False
BtnAlta.Enabled = True
End Sub
No estoy usando RowSource, estoy haciendo todo por código
Busque y busque por toda la red pero ni modo, me doy.....
Muchas Gracias por sus respuestas