¿Alguien sabe cual es el error en esta macro de excel?

Resulta que estoy intentado crear una macro en una hoja de excel.

Para empezar, la macro tiene que abrirse en una hoja y mediante un cuadro de entrada tiene que abrir otro excel y buscar el valor del código de entrada. La macro me funciona hasta que abre el documento, pero no me encuentra el valor puesto en el cuadro de entrada.

Cabe decir que este valor en el cuadro de entrada se repite en muchas filas, de ahí a que haya aplicado lo de filtro.

' ejemplo_1()
Sub ejemplo_1()
busqueda = InputBox("dame el numero de EZ")
valor = busqueda

Workbooks.Open Filename:="X:\billy\Control presupuestos.xlsx"
ActiveSheet.Range("$B$10:$W$2433").AutoFilter Field:=4, Criteria1:= _
"valor"
ActiveSheet.Range("$B$10:$W$2433").AutoFilter Field:=11, Criteria1:="<>"
End Sub

2

2 Respuestas

4.474.450 pts. Sancho, si los perros ladran ...

En esta línea tienes la variable valor entre comillas, eso significa que va a filtrar los registros que contengan la palabra "valor"

ActiveSheet.Range("$B$10:$W$2433").AutoFilter Field:=4, Criteria1:= _
"valor"

Debes ponerla sin comillas:

ActiveSheet.Range("$B$10:$W$2433").AutoFilter Field:=4, Criteria1:=valor

[Si te ayudó la información, no olvides valorar la respuesta.

¡Gracias!

Al final la macro buena se quedo en esta:

' ejemplo_1()
Sub ejemplo_1()
busqueda = InputBox("dame el numero de EZ")
Range("A1").Select
valor = Selection

Workbooks.Open Filename:="X:\billy\Control presupuestos.xlsx"
ActiveSheet.Range("$B$10:$W$2433").AutoFilter Field:=4, Criteria1:= _
busqueda
ActiveSheet.Range("$B$10:$W$2433").AutoFilter Field:=11, Criteria1:="<>"
End Sub

Pero no me di cuenta que en el excel del trabajo hay 2 pestañas, una del año 2017 y otra del 2018, por lo que el código que ingrese en algunos casos se tendrá que mirar en la pestaña del año pasado pero no se como poner esta condición :S.

2.159.390 pts. En mi sitio encontraran material de ayuda, ejemplos...

Se me ocurre, considerando que mencionas que es un código o valor, que no te lo encuentra porque el resultado del InputBox es un 'texto' y tu hoja los debe tener como números.

Intenta de este modo:

valor = Val(busqueda)

Si el tema queda resuelto no olvides valorar la respuesta (opciones: excelente o buena), sino comenta. Quizás te solicite el libro que tiene los datos a filtrar para observar su contenido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas