Estimado, quisiera hacer otra consulta tengo en una hoja un listado de datos, es una base de datos de diferentes novedades clasificadas en categorías, lo que quisiera saber es como puedo identificar solo las fechas de un determinado mes, con una determinada categoría y trasladar toda la fila correspondiente a otra hoja diferente es decir: Hoja original Fecha evento novedades 02-01-09 robo bbbbbbb
03-01-09 intento mmmmm 02-02-09 falta kkkkkkkk Hoja informe robos Fecha evento novedades 02-01-09 robo bbbbbbbb Hoja informe intento Fecha evento novedades 03-01-09 intento mmmmmm Hoja informe falta Fecha evento novedades 02-02-09 falta kkkkkkkkk Intente hacerlo con la fórmula anterior pero como los datos de las fechas son variables no me da un resultado coherente.
Comprendo tu caso. HAremos una modificación pequeña en tu base de datos. Haz el siguiente ejemplo. Una vez que lo hagas acoplalo a tu proyecto. Yo estoy empleando la version 2003. 1.- Abre un nuevo libro de Excel y situate en Hoja1. En Hoja1 estará la BD. 2.- Ingresa los siguientes valores en las celdas indicadas: A1: Fecha | B1: Mes | C1: Evento | D1: Novedades A2: 02/01/2009 | | C2: Robo | D2: bbbbbbb A3: 03/01/2009 | | C3: Intento | D3: mmmmmmm A4: 02/02/2009 | | C4: Falta | D4: kkkkkkk A5: 03/02/2009 | | C5: Robo | D5: yyyyyyy A6: 04/03/2009 | | C6: Intento | D6: ssssssss ***** 3.- Como veras hemos agregado una columna al costado de Fecha. Ademas hemos agregado dos filas con datos adicionales. Las celdas de Mes están vacías puesto que ahí habrá una fórmula la cual arrastraremos. En la celda B2 ingresa la siguiente fórmula: =NOMPROPIO(TEXTO(A2;"mmm")) [Fijate si tu separador de argumentos es punto y coma o coma. Yo use punto y coma ";"] ------ 4.- Ahora cambiaremos de un "rango normal" de datos a una "Lista". Situate en una celda dentro del rango, por ejemplo A3. Luego dirigete a "Menu Datos / Lista / Crear Lista". Saldrá una ventana. Cerciorate que Excel toma correctamente el rango de datos. Ademas activa la casilla puesto que tiene títulos (encabezados) el rango de datos. Se trasnformara de esta manera en una Lista. ------ 5.- Ahora selecciona el rango A1:D6 (Todo) y haz CTRL+F3. En la ventana que saldrá en la opción "Nombres en el libro" escribe en la caja de texto: Datos ------ 6.- Ahora haremos una lista de origen para una validación de datos. Esto para ti sera útil. En la misma Hoja1 y escribe los siguiente en las celdas indicadas: O1: Mes O2: Ene O3: Feb O4: Mar O5: Abr O6: May O7: Jun O8: Jul O9: Ago O10: Sep O11: Oct O12: Nov O13: Dic ----- 7.- Selecciona ahora desde O2:O13. Luego haz CTRL+F3 y dale como nombre: Meses --- 8.- Ahora haremos una celda de criterios para el filtro. Realiza los siguiente en las celdas indicadas: G1: Mes | H1: Evento G2: | H2: Robo *** En G2 no hay nada, ahí haremos una lista desplegable. Situate en la celda G2 y ve a "Menu Datos / Validación / Configuración". En "Permitir" escoge "Lista" y en "Origen de datos" escribe la siguiente fórmula tal como esta: =Meses ----- 9.- Regresa a la celda G2 y despliega la lista que existe. Por lo pronto selecciona "Ene". Ahora esto es importante. Selecciona esas 4 celdas es decir desde G1:H2. HAz CTRL+C, luego situate en la celda I1 y haz CTRL+V. Aun puedes pegar. Ahora situate en la celda K1 y haz otra vez CTRL+V 10.- Se han copiado en celdas contiguas los criterios. Ahora cambia "Robo" por "Intento" en J2. Cambia "Robo" por "Falta" en L2. 11.- Hasta ahora hemos asignado 2 nombres a dos rangos (Datos y Meses). Ahora haremos con los criterios. Esto es importante. 12.- Selecciona el rango G1:H2. Haz CTRL+F3 y escribe: CritRobo 13.- Selecciona el rango I1:J2. Haz CTRL+F3 y escribe: CritIntento 14.- Selecciona el rango K1:L2. Haz CTRL+F3 y escribe: CritFalta ---- 15.- Estamos en Hoja1. Si tu libro donde estas ahora hay 3 hojas, entonces inserta una más. Cambia de Nombre a Hoja2 por Robo. A Hoja3 por Intento. A Hoja4 por Falta --- 16.- Aun estamos por la mitad por lo menos. Ahora regresa a Hoja1. Selecciona los títulos de tu base de datos (A1:D1). Haz CTRL+C. Ahora ve a la hoja "Robo" y situate en la celda A3 y haz CTRL+V. Ahora así como estas ve a la hoja "Intento" y selecciona la celda A3 y haz CTRL+V. Finalmente ve a la hoja "Falta", ve a la celda A3 y haz CTRL+V. --- 17.- Ahora asiganaremos nombres a estos rangos que han sido copiados. Regresa a hoja "Robo". Selecciona ese rango de títulos y haz CTRL+F3 y escribe: ResumenRobo 18.- Realiza los mismo para las demás hojas. Para el rango de Hoja "Intento" asigna: ResumenIntento y para el rango de hoja "Falta" asigna: ResumenFalta --- 19. - Ahora haz ALT+F11. Al hacerlo se abrirá el Editor de Visual Basic VBE. Dirígete al "Menu Insertar/ Modulo" --- 20.- Automáticamente saldrá una ventana de código en blanco. Ahí copia y pega el siguiente código: Sub Filtro() Range("Datos").AdvancedFilter xlFilterCopy, "CritRobo", "ResumenRobo", False Range("Datos").AdvancedFilter xlFilterCopy, "CritIntento", "ResumenIntento", False Range("Datos").AdvancedFilter xlFilterCopy, "CritFalta", "ResumenFalta", False End Sub
----- 21.- La macro se llama Filtro como te darás cuenta. Como veras el código hace referencia a los nombres que hemos asignado. Es por ello que hayas digitado correctamente para que la macro funcione correctamente. --- 22.- Guarda los cambios realizados. Regresa a tu libro de Excel. Regresa a Hoja1. Ahora dirigete a "Menu Ver / Barras de herramientas / Formularios" 23.- De la barra flotante que saldrá escoge la opción que diga "Boton", pica en esa opción y dibuja un botón aproximadamente que este ubicado cerca de la celda J4 de Hoja1. Cuando sueltes el mouse saldrá una ventana que te pedirá insertar una macro. De esa ventana selecciona la macro que hemos creado que se llama Filtro, luego aceptas. --- 24. - Ahora ve a "Menu Herramientas / MAcro / Seguridad". Ahí cambiale a Nivel Medio. Luego aceptas. Guarda los cambios. --- 25.- Ahora presiona el botón que acabas de crear. Al hacerlo la macro te filtrara los datos según el mes indicado en la lista de criterios y lo colocara en sus respectivas hojas de calculo. ---- 26.- Ahora quisiera que hagas algo. Regresa a Hoja1. Usa la tecla Supr en la celda G2, I2 y K2. Presiona nuevamente el botón para que la macro trabaje. Ahora regresa a ver los resultados en las demás hojas de calculo. Practica este caso. A mi me ha salido. Lo he probado y funciona! ----- Espero haberte ayudado en tu caso. ME comentas cuando finalices. LO menos que puedes hacer es PUNTUAR y FINALIZAR ante la ayuda ofrecida.
Nuevamente diste en el blanco mi estimado amigo, es justo lo que necesitaba, me sirvió un montón los estoy adaptando a mi realidad y me parece espectacular. Gracias nuevamente y éxitos.