Excel - Error al buscar

 
Vista:
sin imagen de perfil
Val: 49
Ha disminuido su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Error al buscar

Publicado por Albert (88 intervenciones) el 08/06/2020 15:48:17
Buenas tardes os adjunto una aplicación que estoy preparando y me funciona casi todo, lo que falla es el formulario de búsqueda, si pongo por ejemplo Pa 1 (es el nombre de una puerta) me busca todas las que su numero empieza por 1 y ademas si busco por ejemplo cualquier Pa mayor de 2 me de el error 91, si alguien puede mirar que he hecho mal se lo agradezco mucho.
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Gonzalo
Val: 13
Ha disminuido su posición en 50 puestos en Excel (en relación al último mes)
Gráfica de Excel

Error al buscar

Publicado por Gonzalo (73 intervenciones) el 09/06/2020 02:40:51
Albert, cómo estás?

Para solucionar el inconveniente, tuve que generar una nueva variable "Dim Celda2 as Range", "Celda2 = Celda". Esto es para grabar la primer Celda sin que se vaya reemplazando. y a la búsqueda ", MatchCase:=True)" para que sólo busque el dato que quieres. Queda el código así

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
For i = xHj To uHj
        Set Hj = Sheets(i)
            With Hj.Cells
                Set Celda = .Find(Datu, MatchCase:=True)
                Set Celda2 = Celda
                If Not Celda Is Nothing Then
                    NameCelda = Celda.Address
                    Do
                        x = x + 1
                        With ListBox1
                            .AddItem x
                            .Column(1, .ListCount - 1) = Celda.Value
                            .Column(2, .ListCount - 1) = Celda.Address(0, 0)
                            .Column(3, .ListCount - 1) = Hj.Name
                        End With
                        Set Celda = .FindNext(Celda)
                    Loop While Not Celda Is Nothing And Celda2.Address <> NameCelda
                End If
            End With
        Set Hj = Nothing
    Next i

Saludos, GQ
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 49
Ha disminuido su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Error al buscar

Publicado por Albert (88 intervenciones) el 09/06/2020 08:25:22
Muchas gracias Gonzalo funciona perfecto.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha disminuido su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Error al buscar

Publicado por Albert (88 intervenciones) el 09/06/2020 08:52:44
Resuelto la busqueda con la respuesta de RET
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de RET
Val: 77
Ha disminuido su posición en 6 puestos en Excel (en relación al último mes)
Gráfica de Excel

Error al buscar

Publicado por RET (28 intervenciones) el 09/06/2020 08:27:24
Buenas,

otra opción es que modifiques la linea Set Celda = .Find(Datu) por Set Celda = .Find(Datu, Lookat:=xlWhole)

Con respecto al error 91, lo que te pasa es que en la linea Loop While Not Celda Is Nothing And Celda.Address <> NameCelda estás diciendo que haga el loop meintras celda "no sea nada", es decir, encuentre una celda, y esa celda no sea la misma que has encontrado previamente. El problema es que cuando si es nada (no ha encontrado mas), en la siguiente condición, estás pidiendo la Address de algo que no existe.

Modifícalo para que primero exista y, solo en ese caso, verifique que no es la misma celda.

Saludos,

IMF_RET
https://InformaticaMuyFacil.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar