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

1 respuesta

Respuesta
1

Dime tu mail y te mando un ejemplo de como sería.

Ok, gracias

[email protected]

Ya te lo he enviado por mail

Recuerda finalizar la pregunta

Te mando un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas