En el material de hoy se explicará paso a paso el desarrollo de Macro en Excel para copiar datos a otra hoja con condición, en este caso la condición corresponde a que se debe verificar que el registro o fila en Excel que se copiará o que se enviará a la otra hoja de Excel, contenga en alguna de sus celdas una palabra o texto especifico, en otras palabras el registro se enviará si cumple la condición de tener en alguno de sus campos o celdas el texto deseado o buscado.las.
Este material se publica dando solución a una inquietud que realizó uno de los miembros de la Comunidad Triple EEE y en la resolución de esta participaron otros miembros de nuestra comunidad, los cuales se mencionan en el vídeo. Lo que se muestra hoy es una posible solución de esta inquietud, a través de una Macro en Excel para copiar datos, próximamente publicaremos otra forma de conseguir el mismo objetivo.
En este ejercicio de la Macro en Excel para copiar datos, la base de datos que utilizamos corresponde a una base de datos en Excel de una librería, la cual tiene varios campos, entre ellos uno de los campos es el de país, por tal razón seleccionamos este campo para que se envíe o copie la información cuando el dato del país almacenado cumpla con una condición específica, en el caso que se requiera que sea otro campo, solo es modificar el campo de referencia, el proceso lógico en Excel continua siendo el mismo.
Para desarrollar esta Macro en Excel para copiar datos a otra hoja con condición, se tuvieron en cuenta varios objetos o elementos de código VBA para cumplir el objetivo propuesto. En este material aprenderás varios puntos importantes en las macros en Excel con VBA, a continuación te describo lo que enseñamos en el presente vídeo:
– Declaración de variables con VBA en Excel
– Asignación de valores a variables VBA
– Identificar la última fila que contiene datos con VBA
– Ciclos en VBA o bucles en VBA
– Incremento de contador en Excel
– Aplicar formato a una celda con VBA
– Mensaje Msgbox en VBA
– Comodines en VBA
Para no perderte nada de lo que compartimos en las redes sociales, puedes seguirnos a través de los siguientes medios:
Youtube: https://goo.gl/FrswaC
Facebook: https://goo.gl/W5dIsa
Twitter: https://twitter.com/ee_excel
Instagram: https://goo.gl/xadGB5
Linkedin: https://goo.gl/Os1boH
A continuación el material de hoy:
Click >> Aquí << para descargar archivo Excel
1) Comunidad Triple EEE, Únete >> https://goo.gl/FrswaC
2) Suscríbete a este curso gratuito para aumentar tu productividad en Excel un 80% y obtén 4 regalos adicionales al suscribirte a este curso: http://goo.gl/zNqh0o
Artículos anteriores:
- Función SUBTOTALES en Excel
- Sumar en Excel con condiciones – Parte 3 de 4 – Excluyendo mes
- Sumar en Excel con condiciones – Parte 2 de 4 por período
- Sumar en Excel con condiciones – Parte 1 de 4 Listas desplegables
- Eliminar hoja en Excel solicitando contraseña con Macros VBA
- Identificar con Excel si es un carro o moto a partir de la placa
- Macro en Excel para buscar cualquier hoja
- Truco 5 de formato condicional en excel, Mostrar cumpleaños del mes
- Truco 4 de formato condicional en excel,Comparar dos listas en Excel
- Truco 3 de formato condicional en excel, Seleccionar filas con función BuscarV
Pingback: Extraer filas en Excel con Filtro Avanzado en Excel
Gracias por tus enseñanzas. Tengo una consulta: es posible que al hacer una nueva busqueda, los datos de la hoja auxiliar se borren y solo queden los datos de la ultima busqueda.
Hola Guillermo, claro, lo que harías es colocar una condición que borre los datos anteriores, vamos a pensar tu requerimiento para un futuro contenido. Síguenos para no perderte detalles. Saludos, gracias por comentar
Traté de hacer algo similar pero lo único q copia exactamente lo de la pagina1 a la pagina 2. No se que habré hecho mal. Cualquier ayuda se lo agradeceré.
Los títulos serian:
Nombre, fecha nacimiento, edad, dirreccion, teléfono, clasificación. (PAG.1)
En la pag.2 serian:
Nombre, fecha nacimiento, edad, dirreccion, telefono, telefono
Hola Jesús, te recomendamos revisar el procedimiento que se muestra en el vídeo detenidamente. Gracias por comentar, saludos
Hago la aclaración que esto copiar datos a otra con macros con una condición.
Hola Jesús, gracias por comentar. Saludos
buenas tardes
felicitaciones por este tema tan interesante, viendo el vídeo y el ejemplo que das se ajusta algo a una necesidad y problema que tengo y quisiera que me ayudaras a resolver, es el siguiente tengo una base de datos con información de 8 columnas (A:H) con un promedio de 300,000 registros, en las que quiero validar que si en la columna G contiene la palabra “alarma” y en la columna H la palabra “bóveda” (si cumple esta condición) que copie toda las filas desde la A:H a otra hoja. agradezco tu valiosa colaboración
Hola Andrés, gracias por comentar, recomendamos alguno de éstos contenidos para que tengas una idea de cómo realizar tu requerimiento. Gracias por comentar, saludos
Buenos días,
Estoy intentando hacer algo similar, pero me gustaría que pudiese buscar en todas las columnas la palabra ( en mi caso es una fecha). Agradecería si pudieses indicarme algún tutorial en el que no restringir el buscador a una columna.
Gracias de antemano.
Un saludo
Hola Antonio, recomendamos alguno de éstos contenidos. Gracias por comentar, saludos
Hola,
Estoy tratando de hacer algo similar, pero en vez de que compruebe solo una columna, que me mire en todas las que tengo el resultado buscado( en mi caso una fecha); es decir siguiendo su ejemplo, que detecte la palabra Francia tambien si esta escrita en cualquiera de las otras columnas. El resto del funcionamiento sería igual. Soy muy novato y no consigo dar con la solución, si pudiese dejarme algún tutorial orientativo o cualquier otra cosa se lo agradecería.
Gracias
Un saludo
Hola Antonio, te recomendamos éste contenido y, vamos a evaluar tu solicitud para un futuro contenido para que estes pendiente. Saludos
gracias por la ayuda
Hola Ramón, gracias por comentar. Saludos
Tengo un archivo en el cual tengo varias hojas y quiero buscar cierto código en todas las hojas y me arroje cierta información que conforma ese código
como puedo hacerlo?
Hola Libia, te recomendamos éstos contenidos. Gracias por comentar y participar, Saludos
Hola Ing. Alfonso Lenis, tengo una duda, pasa que tengo que realizar una macro para recorrer las celdas una fila en la cual se encuestaran diferentes encabezados, y si alguna de estas cumple la condición de X celda, deberá copiar todo el contenido de la columna de esa celda que cumpla la condición…. mi duda es como seria el código para copiar dicha información de dicha coincidencia….
Espero me pueda asesorar.
saludos
Hola Luis, éste vídeo es preciso para lo que necesitas. analiza la parte del ciclo For, lo que hace, es copiar todos los registros que cumplan dicha condición. Lo que debes hacer es:
Utiliza el ciclo para recorrer los registros y encontrar la columna con una condición, guarda la columna(#Columna) en una variable
Luego, utiliza otro ciclo For para copiar los registros de la columna como se muestra en el vídeo Sheets(“Auxiliar”).Cells(ultimaFilaAuxiliar + 1, 4), la diferencia será que si la columna fuera 4, solamente tendrías que colocar esa línea dentro del For.
Esperamos que lo logres. Gracias por comentar. Saludos
Distinguido Ing. tengo una una duda para que la búsqueda sea numero en ves de texto como seria el código. Gracias por su atención
Hola, es igual, lo que se busca es una cadena de texto y una cadena de texto es un conjunto de caracteres incluido los nùmeros. Haz la prueba, esa es la mejor forma de confirmarlo, además de aprender algo nuevo por ti. Saludos, gracias por comentar.
Buenas noches, tengo una aplicación para esta macro pero en lugar de buscar una palabra en concreto por ejemplo imperio yo quiero que de una lista (A … Z) haga la busqqueda primero para A luego B y así sucesivamente hasta llegar a Z, es decir que la palabra a buscar vaya variando y entregandome esa informacción, es osible?
Hola Romano, claro que es posible, lo que te refieres es un ciclo, si ya tienes el resultado de una letra, ese proceso se coloca dentro de un ciclo For por ejemplo y asignar en un vector las letras y cambiarlas con cada vuelta del ciclo.
‘ declaración de vector
Dim abc(1 to 32) As String
‘ asignación de las lestras … hasta la z
abc(1) = “a”
abc(1) = “b”
abc(2) = “c”
For x = 0 To 32
‘ AUÍ EL PROCESO PARA BUSCAR LA PALABRA
MsgBox “LETRA ” & abc(x)
Next x
Buenas tardes
En primer lugar enhorabuena por vuestros tutoriales, realmente son fantásticos. Tenía una consulta que haceros al respecto de este vídeo porque se acerca a un tipo de libro que estoy desarrollando pero no termino de dar con la manera. Os cuento el caso:
Tengo una hoja de excel que a esta separada en diferentes bloques en este caso es una empresa de audiovisuales y eventos. Esa hoja nos sirve para determinar todos los artículos que para un evento harán falta y presupuetarlos. Para ello hay un bloque de sonido, iluminación, video, etc…Me gustaría que a la par que determino cuantas ud. de cada artículo se presupuestaran, este mismo número y mismo artículo automáticamente queden grabados en otra hoja del mismo libro de tal manera que solo se vea el artículo y la cantidad del mismo, y que se vean de una manera correlativa sin dejar líneas vacías. No sé si os podría mandar el documento para que lo viérais.
Saludos y gracias por todo
Hola Federico, gracias por comentar y participar, recomendamos éste contenido puede ayudarte para solucionar tu requerimiento. Vamos a evaluar tu solicitud para un futuro contenido. Un abrazo
quiero realizar un formato un poco mas complejo y de ser posible me apoyaran a realizarlo ustedes que son expertos, y de ser así cuanto me saldría??? pudieras enviarme un correo y te mando el archivo con la explicación de lo que requiero… saludos
Hola Miguel, escríbenos por medio de éste link . Gracias por comentar, saludos
Buenos días ingeniero, tengo una duda y no escuentro solución de ningún tipo por mas que e buscado.
Debo estraer de diferentes libros de excel cerrados ciertas columnas que comparten el mismo nombre en común y que el valor se refleje en otro libro diferente a los anteriores; es decir:
Columna 1 de LibroDestino: Está en el libro a.
Columna 2 del LibroDestino: Está en el libro b.
Columna 3 del LibroDestino: Está en el libro b.
Columna 4 del LibroDestino: Está en el libro c.
Columna 5 del LibroDestino: Está en el libro b.
Columna 6 del LibroDestino: Está en el libro c.
Columna 7 del LibroDestino: Está en el libro b.
Debo resaltar que lo que tienen en común esas columnas ( los valores serán trasladados al LibroDestino) son los nombres mas no la ubicación de los libros a, b y c con la ubicación final en el LibroDestino que fue detallado anteriormente.
Espero su pronta respuesta y disculpe las molestias de antemano.
Estoy segura que podrá ayudarme ingeniero, no dudo de sus capacidades y conocimiento.
Hola Maite, recomendamos éstos contenidos. Esperamos que puedas guiarte para realizar lo solicitado. Saludos
Buenas, elabore un sistema pequeño pero necesito que varios operados utilicen el sistema y que la hoja (base de datos) sea compartida por todos y actualizada en tiempo real. Logre en un red compartir el libro desde “un servidor” y todos acceden a dicho libro, pero al compartir se pierde funcionalidad del excel, especialmente en buscarv y algunas macros; ¿usted ha tenido alguna experiencia de este tema?. Para explicarme mejor es un libro que pueda ser accedido por varias maquinas y que todos tengan el mismo actualizado al mismo momento. No es factible la posibilidad de utilizar mecanismos como cierres y consolidaciones.
Hola Gilberto, se recomienda es manejar base de datos como repositorio de la información y Excel como herramienta para ingresar y extraer información de la base de datos, esto, para evitar problemas como los que describes. Recomendamos los siguientes contenidos para ayudarte con ésto. Saludos
buenas Tardes
realiza todos los pasos pero no me muestra ningún resultado no se porque esta pasando esto
Hola Mauricio, cuando trabajas con Macros es muy normal que se escriba algo de forma errónea, por favor mira el vídeo las veces que sea necesario, pues en el vídeo estás viendo una macro funcional. Sigue los pasos atentamente y mira el código detenidamente. Saludos