En este grupo En todos

Foro de Excel



Y dale con el Excel 2007

Alejandro
Abogacia universidad de moron
Escrito por Alejandro Izura Duvigneau
el 27/07/2008

Buen día

Disculpen la insistencia pero me estoy volviendo loco con el VBA en Excel 2007. En 2003 me salía todo OK, ahora debo replantearme el volver a aquella versión. Mi problema es simple: Quiero que al ejecutar el programa que transcribo abajo, me pida dos fechas ( a través de sendos Inputbox), lleve a cabo una filtración avanzada con ellas, que serán los criterios y arroje la información correspondiente de la base en el área de salida o extracción.

Sub copia()
Dim x As Date
Dim y As Date

x = InputBox("Ingrese fecha inicial")
y = InputBox("Ingrese fecha final")
Range("B19"). Value = ">=" & x
Range("C19"). Value = "<=" & y
Range("A1:E15"). AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "B18:C19"), CopyToRange:=Range("A24"), Unique:=False

End Sub

Esto en 2003 era fácil. Ahora, si creo la secuencia de pasos por Grabadora de Macros, no me sale, ni aún modificando los códigos de VBA correspondientes. Si lo hago manualmente, es decir a manera operacional sobre la misma hoja de cálculos como si no supiera nada de macros, ni VBA, sale bien.

Ayuda, por favor, en que me estoy equivocando? Ya pude solucionar varias cosas, en especial con Tablas Dinámicas, pero esto no me sale. Adjunto JPG de un ejemplo de planilla sobre la que quiero trabajar.

Gracias

Alejandro



Ficheros adjuntos:
Muestra
Galileogali -
Buenos Aires, Argent...
Escrito por Galileogali -
el 27/07/2008

En caso de que aportara alguna respuesta estaré sintiendo que "vuelvo a echar una botella al mar"....

Acostumbro responder cuando pregunto, aunque mas no sea para decir "esto no funciono"


GALILEOGALI

Https://excelgali.mejorforo.net/

Galileogali -
Buenos Aires, Argent...
Escrito por Galileogali -
el 27/07/2008
"En caso de que aportara alguna respuesta estaré sintiendo que "vuelvo a echar una botella al mar"....
acostumbro responder cuando pregunto, aunque mas no sea para decir "esto no funciono"
 
GALILEOGALI
https://excelgali.mejorforo.net/
"

por GalileoGali (Julio 2008)



Puedes probar con esto que sirve en ambas versiones

Sub copia2()
Dim x As Long, y As Long
x = DateValue(InputBox("Ingrese fecha inicial"))
y = DateValue(InputBox("Ingrese fecha final"))
Range("a2"). Value = ">=" & x

Range("b2"). Value = "<=" & y


Range("A4:a315"). AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "a1:b2"), CopyToRange:=Range("g2"), Unique:=False

End Sub
tendras que adaptar a tus rangos.....

GALILEOGALI

Https://excelgali.mejorforo.net/



Alejandro Izura Duvigneau
Abogacia universidad de moron
Escrito por Alejandro Izura Duvigneau
el 27/07/2008

Galileo Gali, eres muy amable pero sigue sin funcionar. Es más, me siento mal porque es una simple programación, que siempre me dió bien y ahora por estos cambios que, mas que ayudar fueron para mortificar a los usuarios, nos están haciendo la vida laboral no muy amena que digamos.

De todos modos muchisismas gracias.

Alejandro

Enrique
Escrito por Enrique
el 28/07/2008

Hola Alejandro, para que Excel 2007 (VBA) te reconozca las fechas debe estar en el formato mes/dia/año, actualmente tu has de tener dia/mes/año, adicionalmente te sugiero limpies las filtraciones anteriores agregando esta línea antes de la instrucción de filtrar:

Range("A24"). CurrentRegion. Clear

 

En el entendido de que no tienes datos en celdas inmediatas a los filtrados.


PD. El formato es para el criterio de filtración no para los datos originales y sólo para VBA.

Saludos...

Alejandro Izura Duvigneau
Abogacia universidad de moron
Escrito por Alejandro Izura Duvigneau
el 06/08/2008
Gracias. Procurare seguir tu consejo.