Heeellpp! La opción búsqueda no funciona como lo necesito (adjunto archivo)

Para Dante Amor:

Cordial saludo!

Soy novato en el tema Vba. Y lo poco que he aprendido es a base de la comprensión de los códigos que encuentro en Internet y reutilizo.

Te pido encarecidamente el favor de que me ayudes, pues esto, es el comienzo de un proyecto de estudio personal y debido a lo extenso de los registros que debo realizar pensé que la mejor manera era hacerlo con varios formularios en Excel.

Comencé hace ya algún tiempo como hace tres años, y estoy en la etapa en que debo sistematizar los registros y estoy estancado con esto.

Este es el problema:

Navegando por Internet, me encontré con un código que me pareció adecuado para adaptarlo a mi necesidad, de hecho lo que hasta el momento llevo es todo un frankenstein de códigos encontrados; el código en cuestión fue una respuesta que usted le dio a alguien a través de este portal.

Este es el enlace de referencia de donde tome el código: Codigo VBA para un Listbox con mas de 10 columnas

El código funciona bien! Excelente! Pero cuando trate de hacer una modificación todo se convirtió en un 8 :S.

El archivo base lo he adjuntado y la macro consta de tres botones 1) alta de registro 2) buscar 3) salir. Dentro de la opción Buscar también esta la opción de modificar y eliminar.

El alta de registros funciona perfecto! Encontré la forma de hacer una pequeña modificación al código que encontré para que realizara registros a partir de la tercera fila y hasta allí todo bien!.

El problema que no se como solucionar esta en la opción de búsqueda pues al realizar modificaciones en la plantilla (hoja 1) y desplazar una fila más abajo para realizar unos encabezados mas grandes el código no funciona.

1) En el filtro aparece los encabezados de la primera fila y necesito que sea de la segunda fila o con la opción de que tome los encabezados de la fila que se necesite por ejemplo: que los encabezados estén en la fila A2 o en A3 o también B2 o B3 etc..

2) Los resultados que arroja en el ListBox no son coherentes y aún arroja datos en vacío de manera que cuando se selecciona un dato vacío de los que arroja da error.

3) Cuando en el filtro se coloca un dato no existente se supone que debe arrojar un mensaje de que el dato no existe pero no lo hace.

Básicamente necesito que funcione la opción de Búsqueda pero con la opción de elegir el rango de los encabezados a partir del cual se realice la búsqueda sin importar su tamaño y ubicación.

La opción de modificar aún no la he tocado. No creo que sea complicado.

Te agradezco si me puedes ayudar en esta petición.

En el siguiente enlace se encuentra el Archivo Excel con el formulario.

https://mega.nz/#!v411XLRQ!x_YubJ__8koKZarioq_ZrsA1yubMCoQDTNn0HH1psIg

1 Respuesta

Respuesta
1

Envíame tu archivo, te ayudo con una petición.

Me explicas en qué hoja, en qué formulario, qué datos debo poner, qué esperas de resultado.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “FARLY GAL

S a l u d o s . D a n t e   A m o r

Que alegría; de verdad GRACIAS!!!!

Ahora mismo lo hago.

¡Gracias! 

Te anexo el código actualizado

'
'Mostrar resultado en ListBox
Private Sub CommandButton5_Click()
'Act.Por.Dante Amor
    Set h1 = Sheets(1)
    Set h2 = Sheets("Temporal")
    '
    If Me.txtFiltro1.Value = "" Then Exit Sub
    If lista = "" Then Exit Sub
    '
    h2.Cells.Clear
    ListBox1.RowSource = ""
    h1.Rows(2).Copy h2.Rows(2)
    '
    j = lista.ListIndex + 1
    n = 3
    '
    For i = 3 To h1.Range("a1").CurrentRegion.Rows.Count
        If LCase(h1.Cells(i, j)) Like "*" & LCase(txtFiltro1) & "*" Then
            h1.Rows(i).Copy h2.Rows(n)
            n = n + 1
        End If
    Next i
    u = h2.Range("A" & Rows.Count).End(xlUp).Row
    If u = 2 Then
        MsgBox "No existen registros con ese filtro", vbExclamation, "FILTRO"
        Exit Sub
    End If
    ListBox1.RowSource = h2.Name & "!A:Z" & u
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas