UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1RESUELTO Eliminación de datos ListBox el 09/03/15, 09:13 pm

maquinitaazul


Que tal amigos del foro, muy buenas tardes, me acabo de topar con un problemita con un código y me gustaría que me pudieran orientar a encontrar y resolver dicho problemita, les cuento:

En una hoja de excel manejo un formulario que busca información en un listbox, este formulario contiene dos botones; 1.- modificar, 2.- eliminar, el problema es con el segundo botón ya que cuando filtro registros y se encuentran dos o mas registros con un mismo nombre  no me elimina el que selecciono sino el primero que encuentra, he estado dándole un par de vueltas y no logro resolverlo, espero me puedan brindar un poco de su ayuda para llegar a una solución.  Desde ahora agradezco su tiempo, gracias.
Archivos
Ejemplo.zip
No tienes los permisos para descargar los archivos.
(44 KB)

2RESUELTO Re: Eliminación de datos ListBox el 14/03/15, 01:46 am

Igtelo


Hola Maquinita.

Tiene un detalle que no le encuentro:

Cuando filtras y seleccionas inmediatamente el 1er. registro te despliega que si quieres borrar el 2o. Cosa que no es correcta.

Selecciona otro registro y regresa al 1o. Y ya muestra bien el mensaje y eliminará correctamente.

Revisa a ver si le encuentras y comentas.

Nota: Eliminé los mensajes anteriores, eran pura "paja".
Archivos
Maquinita-filtra y elimina.zip
No tienes los permisos para descargar los archivos.
(44 KB)

3RESUELTO Re: Eliminación de datos ListBox el 14/03/15, 06:44 pm

Igtelo


Maquinita.

Creo que ya quedó, cambié los códigos.
Archivos
Maquinita2-filtra y elimina.zip
No tienes los permisos para descargar los archivos.
(43 KB)

4RESUELTO Re: Eliminación de datos ListBox el 14/03/15, 07:42 pm

maquinitaazul


Hola Igtelo, acabo de recibir el archivo que me enviaste y todo marcha bien hasta que se introduce un código duplicado en la columna "B", porque me selecciona el último volándose el primero, y es que la columna "B" se presta para ingresar varias veces un mismo código o códigos. Lo que veo que se puede hacer es cambiar la columna de selección a una donde los valores si sean únicos y consecutivos, para que seleccione correctamente lo que quiero eliminar. 

Cambie la columna de B a J para tener ahí el consecutivo, pero no me selecciona el indicado cuando hay duplicados.


Private Sub LisDts_Click()  'Listbox
Range("J5").Activate
    Cuenta = Me.LisDts.ListCount
    For i = 0 To Cuenta - 1
        If Me.LisDts.Selected(i) Then
            registro = Me.LisDts.List(i)
On Error GoTo salida
            Range([j5], [j5].End(xlDown)).Find(registro, , , xlWhole).Select
        End If
    Next i

salida:
        End Sub

5RESUELTO Re: Eliminación de datos ListBox el 14/03/15, 08:18 pm

Igtelo


Ahora ya no te entiendo ni "Jota".

La columna B son números consecutivos y la columna J tiene únicamente 1 ??!!

6RESUELTO Re: Eliminación de datos ListBox el 14/03/15, 08:26 pm

maquinitaazul


No, la columna B tiende a tener valores repetidos "códigos", y lo de la columna "J" tiene unos, pero los cambien por consecutivos, 1,2,3,4,5,n para ver si era posible elegir desde ahí la fila y poder eliminar. Pero no me funciono.

7RESUELTO Re: Eliminación de datos ListBox el 14/03/15, 09:20 pm

maquinitaazul


Hola Igtelo, después de darle un par de vueltas ya me quedo, muchas gracias por tu ayuda y paciencia. Saludos

Private Sub LisDts_Click()  'Listbox
Range("J5").Activate
    Cuenta = Me.LisDts.ListCount
    For i = 0 To Cuenta - 1
        If Me.LisDts.Selected(i) Then
            registro = Me.LisDts.List(i, 8 )
On Error GoTo salida
            Range([j5], [j5].End(xlDown)).Find(registro, , , xlWhole).Select
        End If
    Next i

salida:
        End Sub

8RESUELTO Re: Eliminación de datos ListBox el 14/03/15, 09:58 pm

Igtelo


Bien Maquinita.

Para complementar y te identifique parte de la fila en color:

Private Sub LisDts_Click()  'Listbox
Range("J5").Activate
    Cuenta = Me.LisDts.ListCount
    For i = 0 To Cuenta - 1
        If Me.LisDts.Selected(i) Then
            registro = Me.LisDts.List(i, 8)
On Error GoTo salida
[b5:j300].Interior.Color = xlNone
Range([J5], [J5].End(xlDown)).Find(registro, , , xlWhole).Select

 ActiveCell.Offset(, -8).Resize(, 9).Activate
  Selection.Interior.Color = vbGreen
  End If
    Next i
salida:
       End Sub

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.