Actualización de un ListBox cuando tiene modificaciones

Para Dante Amor, Gracias por tu respuesta, la modificación del código funciona correctamente, pero te vuelvo a molestar con un pedido mas, que posibilidad existe de hacerle a ese ListBox una Actualización tanto en el Ingreso de una nueva Fila como en el Borrado de una Fila, de tal forma que no sea necesario volver a buscar la Hoja en el ComboBox para ver el cambio, y que posibilidad existe de realizar desde una Macro con un Botón un orden en el contenido de una Hoja en base a los Números existentes en una de las columnas (la numero 4).

1 respuesta

Respuesta
1

H o l a : Vamos por partes. Primero a qué te refieres con esto:

"hacerle a ese ListBox unaActualización tanto en el Ingreso de una nueva Fila"

Tienes que explicar lo que necesitas con ejemplos reales.

Te ayudo con cada petición pero una por cada pregunta, esta parte: "realizar desde una Macro con un Botón un orden en el contenido de una Hoja", la revisamos en otra pregunta.

Hola Dante Amor, la macro que me corregiste anteriormente que era para poder borrar filas en la hoja que mostraba un ListBox, en ese mismo UserForm contiene 4 TextBox que ingresan datos armando la fila, pero que el ListBox no los muestra hasta que le hago leer nuevamente la hoja y en el caso del borrado ocurre lo mismo es como que al ListBox le falta un refresh para cada una de esas operaciones.

Con respecto al el botón que ordena una hoja de excel, vi el articulo,  pero esta directamente en una hoja y mi deseo es que este en el UserForm con el que pretendo manejar el libro de excel.

Espero haber sido lo suficientemente explicito, de lo contrario no vaciles en pedir mas datos.

Muchas gracias por responder.

Para que te actualice el listbox agrega esta línea:

ComboBox1_Click

Ejemplo en la macro para borrar una fila:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    'Borrar el registro
    If ComboBox1.ListIndex = -1 Or ComboBox1.Value = "" Then
        MsgBox "Selecciona una hoja", vbExclamation
        Exit Sub
    End If
    If ListBox1.ListIndex = -1 Then
        MsgBox "Selecciona una línea del listbox", vbExclamation
        Exit Sub
    End If
    '
    hoja = ComboBox1.Value
    fila = ListBox1.ListIndex + 3
    '
    Sheets(hoja).Rows(fila).Delete
    Call ComboBox1_Click
    MsgBox "Fila eliminada", vbInformation
End Sub

Después de borrar el registro en la hoja, tienes que cargar nuevamente el listbox, para eso utilizas el evento combobox1_click.

No pusiste el código para insertar una fila, pero realiza lo mismo, después de insertar la fila en la hoja, realiza el llamado al evento combobox1_click.


Para el proceso de ordenar tienes que crear una nueva pregunta. Con gusto te ayudo con todas tus peticiones, pero deberás crear una pregunta para cada petición.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas