Macro en Excel para copiar datos a otra hoja con condición

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.

Especialistas En Excel
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:

  1. Función SUBTOTALES en Excel
  2. Sumar en Excel con condiciones – Parte 3 de 4 – Excluyendo mes
  3. Sumar en Excel con condiciones – Parte 2 de 4 por período
  4. Sumar en Excel con condiciones – Parte 1 de 4 Listas desplegables
  5. Eliminar hoja en Excel solicitando contraseña con Macros VBA
  6. Identificar con Excel si es un carro o moto a partir de la placa
  7. Macro en Excel para buscar cualquier hoja
  8. Truco 5 de formato condicional en excel, Mostrar cumpleaños del mes
  9. Truco 4 de formato condicional en excel,Comparar dos listas en Excel
  10. Truco 3 de formato condicional en excel, Seleccionar filas con función BuscarV

33 comentarios en “Macro en Excel para copiar datos a otra hoja con condición”

  1. Pingback: Extraer filas en Excel con Filtro Avanzado en Excel

  2. 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.

    1. Especialistas En Excel

      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

  3. 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

    1. Especialistas En Excel

      Hola Jesús, te recomendamos revisar el procedimiento que se muestra en el vídeo detenidamente. Gracias por comentar, saludos

  4. 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

  5. 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

  6. 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

  7. 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?

  8. Luis A. Castro Murillo

    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

    1. Especialistas En Excel

      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

    1. Especialistas En Excel

      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.

  9. 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?

    1. Especialistas En Excel

      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

  10. 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

  11. 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

  12. 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.

  13. 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.

    1. Especialistas En Excel

      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

    1. Especialistas En Excel

      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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *