Macro para Filtrar datos y copiarlo en otra hoja de excel
HTML-код
- Опубликовано: 15 дек 2024
- Macro para Filtrar datos y copiarlo en otra hoja de excel
En este ejemplo vamos a realizar filtros de la información de una hoja de excel por los valores que queremos y posteriormente vamos a trasladar a otra hoja de otro libro la información filtrada.
Fanpage: / webexceltutos
Si deseas un servicio de desarrollo de macros te dejo mi perfil en fiverr: es.fiverr.com/...
Hay muchas maneras más de copiar datos de distintas hojas, aquí te enseño como:
www.tusclases....
Si deseas capacitación en programación VBA solicítamelo aquí.
www.tusclases....
Si deseas colaborar te comparto mi link de paypal:
www.paypal.me/...
ÚNETE al grupo de Whatsapp para compartir más ayuda en Excel VBA. bit.ly/42MyVV4
Excelente, largo pero muy claro, ideal para los que estamos arrancando, mil gracias!
Excelente video me ha servido de mucho, ya con este procedimiento el siguiente se hace solo. Muchas gracias
Muy buen tutorial , me permite hacer cosas que pensé eran mas complejas. Sin embargo tengo unas dudas para casos similares , como lo haría con dos o mas filtros y/o si el workbook que tengo ya existe . Por ultimo me gustaría saber como exportar información a un libro usando filtros , pero teniendo en cuenta que la información en el nuevo libro es acumulable .
PD : Son solo dudas que tengo si es posible que me las resuelvan estaría muy agradecido y la verdad sus vídeos son muy buenos .
Muy buen aporte! Gracias:)
Hola! Como podemos enviarlo a otra pestaña en vez de a un libro nuevo? En el primer ejemplo como lo enviarías a una pestaña que ya tienes creada con el nombre 'Arequipa' para que se traspasen los datos copiados de la tabla?
Hola, mucho gusto, muy buen aporte, podrías hacer un vídeo donde enseñes como hacer una macro para filtrar información de distinta una de la otra y copiarla a otra hoja, por favor.
Es muy interesante este vídeo gracias. Me gustaría agregar un escenario donde los datos a filtrar sean todas omitiendo celdas vacías ademas de al crear el nuevo libro se pueda asignar un nombre, una extensión y una ubicación. Ojala pudieras considerarlo para un nuevo vídeo tutorial. Saludos
Excelente, consulta si quiero copiar del filtrado solo una columna y aun libro ya abierto que se modificaría.
Hola tendrias que cambiar la fila donde dice .copy, ahi solo selecciona el rango de tu columna por ejemplo si tu columna es la A puedes poner Range("A1:A50").copy
Para pasarlo a un libro que ya esta abierto deberias cambiar este codigo
Set LibroAbierto = Workbooks("NombreDelLibroAbierto.xlsx")
Gracias rey me ayudaste un monton
Muy bueno, me ayudo bastante!!
Que bueno que te haya ayudado.
Genial el video profe, consulta como seria el codigo si es que solo quiero que se copie algunas de columnas???
Y si quisiera filtrar varios valores?
amigo, a que nro se le puede contactar par alguna asesoria de macros, este ejemplo esta bueno, consulta es posible generar autofiltros a traves de la opcion fechaNac, segun el libro que manejas.
gracias;
excelente muchas gracias la verdad para no estar cambiando el criterio desde vba puede hacerse atravez de una caja que guarda todo en una variable global y al momento de colocar el criterio en la caja busca es ese criterio y en VBA lo que hace es en vez de colocar el criterio coloca el nombre de la variable que guarda todo lo de la caja y listo muchas gracias excelente tutorial
Alexander Arias Asi es estimado, el tutorial q hice es lo mas basico y se puede incluir mas mejoras.
Hola, muchas gracias por el tutorial, de verdad que es muy útil. Tengo dos inquietudes que no pude resolver aun, podrías indicarme como hace por favor? 1) como hago para que la condición del filtro se ingrese x una ventana de texto, es decir, cada vez que ejecuto la macro, que me pregunte cual es la palabra que deseo usar de filtro. 2) Se puede programar la macro para que directamente arme un libro nuevo x cada una de las opciones del flltro? es decir, si tengo 10 valores diferentes en esa columna, que extraiga 10 hojas nuevas con su contenido filtrado. Espero haber sido claro. Gracias por adelantado!
hola quisiera realizar una macro para copiar todas las filas que contengan un rango de valores determinados de una hoja excel a otra, como puedo hacerlo
Hola, el activesheet.paste; me está generando un error. ¿Cómo es posible arreglarlo?
Hola, deberías especificar cual es el error.
Excelente aporte.
Excelente explicación y muy didáctico ! ! Impecable.
Podría consultar el comando específico para que copie el resultado del filtro, en el mismo libro excel, en otra hoja nueva: lo que necesito saber es si es posible filtrar información con un determinado criterio e ir copaindo el resultado, en sucesivas hojas. Muchas Gracias
Armé la Sig. secuencia: wsHojaActual.Range("A1:G" & uFila).Copy Destination:=Worksheets("Hoja2").Range("A1")
Tener en cuenta que la "Hoja2" ya debe estar creada previamente (no sé si es posible, que se vaya agregando una hoja nueva por consulta y que además, esa hoja nueva, tome el nombre del filtro dado) . Gracias
me ahorraste horas buscando esto, muchas gracias
hola, excelente tu explicacion, por favor me podrias ayudar, como deberia hacer sil el filtro a utilizar es numerico? como podria colocar una condicion de que filtre las celdas que contengan datos? gracias
excelente video!
me gustaría saber cómo podría aplicar esta macro sin tener en cuenta el título, cuál código podríamos usar ?
!Excelente, muchas gracias! Estaba buscando algo así. !Que bien!
Excelente explicación. Saludos desde quillabamba. Quisiera que hagas un vídeo de como copiar sólo valores de una hoja a otra ya que a veces cuando se tiene por ejemplo un presupuesto con columnas de ítem, descripción de partida, unidad, metrado, precio unitario y parcial algunos datos están en cero esos no quiero que se copien en la nueva hoja. Sólo copiar ítem, descripción y parcial, pero sólo donde hay valores. Gracias. Tito Guevara
hice una macro copiar y pegar funciona muy bien ,peero de los copiado hice un resumen en otra hoja con formula matricial,,pero paso que cada ves que hago un copiado y el resumen tiene que filtrar datos,ahi por cada registro copiado, en la formula me modifica un numero de fila en mi resumen,,,me pueden decir porque o como hago para solucionar??
Hola! Muchas gracias por este tutorial, es de gran utilidad. Una pregunta, cómo se indicaría que lo que copié lo pegue en un libro ya creado, nada más para que se vaya actualizando el archivo donde lo va copiando? Gracias de antemano! Saludos!
Gracias por su apoyo, nos puede regalar el codigo
Como sería si necesito filtrar uno por uno de los que están en la fila ? Ejemplo tengo 6 usuario pero quiero que vaya filtrando uno por uno y los vaya pegando en otra hoja ? Gracias
EXCELENTE, SALUDOS Y GRACIAS
Excelente tutoría, cómo se podría hacer para que vaya filtrando automáticamente y dinámicamente según el contenido solicitado para no estar definiendo en el código?
Hola, podrias tener el valor del filtro en una celda.
@@maihuire11 Hola, me puedes ayudar ampliando esta información, como hacer que tome el filtro a partir de una celda especifica,
gracias por el vídeo.
se puede hacer paria varias regiones a la ves
es muy interesante el video , queria si me puedes ayudar con algo casi similar que no he podido resolver,que es grabar datos de una hoja a otra pero que grabe los datos cuando una de las lineasde la columna E , solo grabe ahi los datos , osea si cumple con la condicion de tener una X cualquier linea de la columna E ,recien grabe los datos.. si me puedes ayudar por favor..o si tienes algun correo para enviarte el archivo gracias
Hola profe, tengo lo mismo pero filtro por verdadero y copio los datos y luego por falso y se ejecuta la macro de copiado, pero hay veces que puede no tener uno de ello y no quiero que se ejecute la macro. Me podría ayudar porfa?
Buenas tardes, muy buen video, solo quiero consultarle y si por favor pueda responderla, como se haria si en vez de nombres(ejem Arequipa, ica), sea por código AN015, AN051, Por que cuando ejecuto la macro si hace el proceso del filtro pero no aparece lo indicado. Gracias.
Hola debes indicarle en que columna están esos valores.
gracias, me sirvio mucho.
pero tendras un video donde en lugar de cambiar en la macro el filtro lo hagas en un como boton digamos cambiar el filtro desde el archivo y solo dar clic
Hay alguna forma de que cree libros independientes para cada ciudad? O tengo que hacer una macro para cada ciudad?
Hola, tengo un video donde realizo para un archivo por cada elemento de una columna.
ruclips.net/video/HFBJFeBV-o4/видео.html
@@maihuire11 gracias!
Excelente aporte, solamente quisiera saber ¿cómo debería modificar el código para extraer los datos de más de una región. Ejemplo: Arequipa, Ayacucho y Loreto? Gracias!
Deberias agregarla a una coleccion y hacerle un ciclo foreach.
Como le puedo hacer para que no se limite a filtrar solo un valor sino que recorra todos los valores en un filtro 1x1 y que me arroje en otros libros esos valores filtrados?
Buenos dias, muy buen tutorial, pero como haría para en vez de copiarlo a un libro nuevo lo copie a una archivo ya existente y en determinada hoja. y ademas ese archivo esta en otra pc gracias
Muchas Gracias Profesor Sumamente pedagógico y práctico. Cómo hacer Si quisiera seguir enviando nuevos registros desde la tabla origen, para que se sumen a los ya transferidos a la tabla 2, y allí se actualicen los registros totales evitando duplicar los registros ya relacionados. Es decir la tabla 1 origen se resetea y renueva en archivos, y la tabla 2 los acumula todos antiguos y nuevos. Sería muy útil como una especie de backup de toda la actividad histórica.
pero que explicación tan clara!! excelente... y como hago para seleccionar varios criterios de filtro; lo que quiero es filtrar dos criterios enviarlo a un nuevo libro y guardarlo con el nombre de los campos filtrados, en donde te puedo contactar para solicitar tu asesoría?
Héctor García escribeme a freddy.maihuire(arroba)gmail punto com
Excelente amigo, gracias.
como haria para filtrar datos segun un rango? por ejemplo se tiene todo un año, quisiera filtrar todo enero, febrero, etc
Hola en mi canal hay un video que filtra por varios elementos de una columna.
@@maihuire11 valioso contenido, alguna idea de porque no me funciona el siguiente código?,
f_inicial y f_final son textbox de un formulario
Set RangoDatos = wsHojaActual.UsedRange
RangoDatos.AutoFilter Field:=9, Criteria1:=">=" & f_inicial, Operator:=xlAnd, Criteria2:="
amigo la explicacion es muy clara!! excelente... y como hago para filtrar criterios enviarlo a un nuevo libro y guardarlo con el nombre de los campos filtrado, ademas que el filtrado me lo haga por cada dato distinto en la columna que estoy filtrando...
muchas gracias y si te puedo contactar seria genial.
saludos!!!
Hola el filtrado necesitas hacerlo x dos campos a la vez?
@@maihuire11 Hola, no el filtrado es solo en un campo que esta, por ej. en la columna "x" de ese filtrado el resultado y el libro nuevo que crea debe quedar con ese nombre del filtrado y asi con cada uno de los datos de esa columna.
Una pregunta : embez de filtrar con un nombre , como seria con una condicion ; por ejemplo si n es mayor a 5 . Quiero filtrar solo los mayores a 5.
Hola debes poner la condicion entre comillas, Asi: ">5"
@@maihuire11 Bueno , lo aplique y me funciono ; gracias , vaya que es importante programar , el lenguaje de programacion q uso es el c++, y me sirvio de guia ; pero tenia esta duda , muchas gracias "Tutoriales LAB" , Saludos desde Bolivia .
@@francisconina8560 de Nada, saludos desde Perú.
muchas gracias, una pregunta como puedo hacer desde vba evitar un error en caso de que no este la coincidencia
Pones al inicio de tu codigo lo siguiente: on error resume next
Excelente! Muchas gracias!
Como se puede modificar el codigo para que en la hoja destino lo copie debajo del anterior dato, tipo como si fuera un historial!!!
Deberias saber cual es la ultima posicion de fila con datos.
y como creo un botoon donde escriba en una celda la palabra a buscar y me lo filtre en otra hoja?
Hola!!! Excelente!
En vez de mandarlo en otro libro, yo quisiera pegarlo en una celda de esa misma hoja, como le haría?
Gracias
Hola el codigo seria de la siguiente manera:
X ejemplo lo que copio lo pego en la misma hoja en la celda "Z1", tu puedes cambiar el valor por la celda que desees.
wshojaActual.range("A1:G" & uFila).Copy Destination:=wsHojaActual.range("Z1")
Este codigo de abajo lo eliminas porque todo se hace en el codigo de arriba.
Set wbLibroNuevo = Workbooks.Add
wbLibroNuevo.ActiveSheet.Paste
¿Qué pasa con flujo de la macro si al filtrar los datos no devuelve ninguno porque el dato buscado no existe? estaría seleccionando todas las hojas en blanco, creo, ¿Cómo se evita ese error?
En este caso no ocurriría ese error porque se esta copiando con todo y cabecera. Pero si te refieres a que la macro no copie la cabecera sin datos, eso se puede evitar validando que la ultima fila no sea la posición de las cabeceras. Supongamos que la posición de las cabeceras de tus datos empieza en la fila 1, para obtener la ultima fila usas el siguiente código:
uFila= wsHojaActual.Range("A" & Rows.count).End(xlUp).Row
entonces deberias poner este codigo en la siguiente fila.
if uFila>1 then
'Aqui tu código de copiar datos filtrados
end if
Con eso solo lograras copiar datos filtrados que tengan mas de 1 registro.
Excelente, y como le puedo hacer que haga eso mismo, pero en una hoja mismo libro y según el valor o texto que le ponga? Excelente video!
Tengo un video en mi canal de como copiar datos de una hoja a otra del mismo libro.
Gracias por tu respuesta, le dará otra vista a tus videos. Que no lo encontré! De verdad que agradezco tu respuesta
Alguien que me diga que simbolo es el que esta antes de "ufila"
por favor!!
Hola te refieres a este símbolo & se llama ampersand y se obtiene con la combinación de teclas Alt + 38
Hola soy José Gmo, ojalá me pudieras auxiliar en vez de pegar la información a otro libro es pegarlo en otra HOJA pero ir INSERTANDO Líneas esa información como si fueras llenando una base de datos.
Eusebia Solano hola, tengo otro tutorial donde explico como ingresar registros desde un formulario a una hoja de excel
Buenos días, excelente explicación, me gustaría que me colaborara cuando el filtro no encuenra coincidencia no copiar, gracias
Hola, en este caso va a realizar la accion de copiar, pero como no hay datos va a copiar daos vacios.
FUNCIONA SI FILTO UNA CELDA VACIA DONDE NO HAY DATO?
Hola si no hay dato tendrías que poner comillas sin nada dentro. Así: ""
BUENAS TARDES PROFESOR.
DISCULPE LAS MOLESTIAS ES QUE TENGO UNA DUDA NO SÉ SI ME PODRÍA AYUDAR POR FAS. CUÁL SERÍA EL CÓDIGO POR LA CUAL, POR MEDIO DE UNA MACRO DE VISUAL BASIC FOR APPLICATION.
PUEDO ABRIR UN OTRO ARCHIVO DE EXCEL, ADICIONAL MENTE QUE ME PERMITA HACERLE CAMBIOS AL OTRO ARCHIVO RECIÉN ABIERTO Y POSTERIORMENTE GUARDAR LOS CAMBIOS A AL OTRO ARCHIVO.
SIN SALIR DE LA MISMA MACRO ESA DUDA ME TIENE EN ASCUAS YA VARIAS SEMANAS.
DE ANTEMANO MUCHAS GRACIAS POR TODO, YO SOY UN FIEL SUSCRIPTOR SUYO SUS VÍDEOS SON INCREÍBLES.
En que momento copiaste a otra hoja?, requiero de una hoja a otra hoja los datos filtrados por columna
En mi canal hay un video.
bacan, pero como haría para copiar lo filtrado a una nueva hoja, dentro del mismo libro
Hola, deberias poner en tu codigo lo siguiente:
dim wsHojaDestino as worksheet
set wsHojaDestino=wblibroactual.worksheets.add
activesheet.name="HojaNueva"
y dentro de esa hoja comenzar a pegar tus datos
como haria si el filtro es entre las 2 fechas de la macro
Pudiste resolver?, estoy en la misma
Muy buen video amigo. Necesito tu ayuda....
Si en una hoja2 tengo una celda determinada en donde le puse validación de Datos para que se despliegue con una serie de opciones de 10 nombres y yo selecciono uno de esos 10 Nombres en esta celda, lo que necesito es lo siguiente, que según este nombre en específico seleccionado, me copie automáticamente los datos de una columna determinada que se encuentra en la otra hoja1 (en donde se encuentran 10 columnas de datos oportunamente). No copiando los espacios vacíos existentes en aquella columna claro. Y así con cada una de las 10 columnas de la hoja1 copiando datos hacia la hoja2, siempre y cuando en la celda desplegable de la hoja2 aparezca un nombre específico asignado para cada una de las 10 columnas de la hoja1. Algo así como un buscador.
Claro que a todo esto se le puede sumar una serie de agregados como botón de Ejecución, colores y formato de escritura en la columna de celda a copiar, etc..
Yo te podria decir como hacerlo, pero no seria suficiente. Quizas pueda hacer un videotutorial de eso.
mi correo es sivila_omar@hotmail.com.ar enviame un e´mail así te paso el archivo de "Reclutamiento Interno" que estoy armando y me das una mano enorme por favor..........
No me funciona el usedrange solo me aparece A1 cuando doy ejecutar, 😞
Hola, tu celda activa debe estar donde estan todos tus datos, seguramente A1 esta aislada de los demas datos.
hola buenas tardes, primeramente, me permito felicitarlos por su canal, ya que es de mucha ayuda, me podría orientar le comento lo que quiero hacer, tengo dos archivos de excel en uno tengo datos de empleados divididos por centros de costos, en el otro archivo es la división de las áreas de trabajo, pero en esas áreas existen diferentes centros de costo. los archivos son totalmente diferentes, ahora bien, lo que quiero saber es si hay alguna macro la cual filtre mi hoja principal que es donde están los empleados por centro de costo, que a su vez con ayuda del otro archivo del área de trabajo me indique a que área pertenece y me pegue en otro libro cada campo por separado, los campos son muchísimos. digamos mi archivo principal va desde la columna A1 hasta BV11990 aunado a eso el archivo de departamento tiene una columna de correos que se necesitan enviar se puede anexar una función a la macro para que envié el libro creado del filtro de cada centro de costo con su área correspondiente y destinatarios correspondientes al correo electrónico para que sea sistematizado?
Hola, todo lo que dices si se puede hacer. El tema como deseas hacer muchas cosas requeriras saber cómo unir los libros, hacer cruce de información y también enviar correos.
como quitas el filtro ?
omar martinez En el video lp explico
Cursoslab Si, muchas gracias
Pero si solo quiero 5 celdas de la primera columna como sería?
Debes seleccionar Range("A1:A5")
@@maihuire11 esas celdas están ocultas por el filtrado, pero lo intentaré con un ciclo for
a mi se me detiene en Windows (LibroActual.Name).Activate
no debería pasar. Cómo has escrito esa línea?
Wonderful
y i tenía ganas de morir, ahora tengo más ganas :C
jajajajaja
malo el vídeo deplorable
es muy interesante el video , queria si me puedes ayudar con algo casi similar que no he podido resolver,que es grabar datos de una hoja a otra pero que grabe los datos cuando una de las lineasde la columna E , solo grabe ahi los datos , osea si cumple con la condicion de tener una X cualquier linea de la columna E ,recien grabe los datos.. si me puedes ayudar por favor..o si tienes algun correo para enviarte el archivo gracias
En la descripción de mi video esta mi fanpage, escríbeme por ahí.
Como puedo modificar que el Criteria se cambie según una lista desplegable
hola, deberias asignar a una variable el valor de tu lista desplegable.