MACRO Para pegar columnas de una hojaA y copiar a una hojaB si se cumple una condición en la hojaC

Tengo 3 hojas, HOJA A, HOJA B y HOJA C. Si la columna D de la HOJA C tiene la palabra "cuenta", quiero que las columnas B y C de la HOJA B se copien a la derecha de la columna A de la HOJA A. Además también quiero saber si después de copiadas las columnas en la HOJA A, la celda A5 tenga la misma información que la celda A5 de la HOJA C.

1 respuesta

Respuesta
1

Podrías explicarlo con imágenes

He simplificado la tabla para poder explicar, el procedimiento solo se debe realizar una vez, es decir, si la palabra cuenta se encuentra mas de una vez en la columna D de la hojaC, la macro solo se debe ejecutar una vez y no el número de repeticiones de la palabra. 

Estimado, quiero aclarar algo donde quizá no me expliqué bien, después de copiar las columnas de la hojaB, pegar como insertar celdas copiadas a la derecha de la columna A de la hojaA

Hay algunas cosas que no están claras.

Este proceso solamente se va a realizar una vez o el proceso se va a estar realizando cada cierto tiempo, o se va a realizar varias veces dependiendo de algún factor.

La tampoco está claro, es cómo está la hojaA antes del proceso.

Mejor intenta explicar el proceso, cómo inicia, hablas de copiar columnas, cuando en realidad estás copiando celdas.

El texto para explicar debería ser algo así:

En la hojaC, leer los registros empezando en la fila 7 y hasta la última fila con datos de la columna D, si en la columna D de la fila que se está revisando existe la palabra "CUENTA" entonces pasar el dato de esa fila columna "A" (fecha) a la siguiente fila vacía de la columna B de la hojaA, empezando en la fila 7, el dato de "C" (valor) se pone en "C"

Algo así deberías explicar. Lo que dice tu explicación, o al menos lo que entiendo, es que se debe copiar toda la columna, y por copiar toda la columna es desde la fila 1 hasta la última fila 1048576, pero por las imágenes eso no es lo que quieres.

Tampoco entiendo para qué la hojaB, ¿es una hoja formato?

Después de realizar el proceso y vuelves a ejecutar la macro, ¿qué debería pasar?


Otra opción es con un autofiltro, en la hojaC en la columna Actividad, filtrar por palabra "CUENTA", entonces de la hojaC copiar todos los registros resultantes de la columna A en la columna C de la hojaA, y los de la columna "C" en la columna "C" de la hojaA

También sería más claro, si en lugar de hojas A, B, C les pones otros nombres que no coincidan con los nombres de columnas A, B, C, D, por ejemplo las puedes llamar como hoja "origen", "formato" y "destino".

[E spero tus comentarios]

.

.

.

Estimado espero poder expresarme bien esta vez. Tengo una hoja CARTERA1, cuando en la celda E de esta hoja se encuentra la palabra cartera, necesito copiar las columnas B, C y D de la hoja FORMATO y pegarlas a la derecha de la columna A de la hoja CUENTA, ademas, después de pegar estas columnas, necesito que se copie el nombre CARTERA1 de la celda A5 de la hoja CARTERA1 en la celda C5 de la hoja CUENTA, luego realizar el mismo procedimiento con la CARTERA2. Me refiero a insertar celdas copiadas porque si simplemente pego, borro la información previa de la hoja CUENTA, en cambio, si las pego como insertar celdas copiadas, la información previa se desplaza hacia la derecha. 

La hoja funciona de la siguiente forma. En las CARTERAS ingreso información y también actividad y en este caso necesito una hoja independiente llamada CUENTA que me permite trabajar con la información de las CARTERAS que tengan la actividad CUENTA.

El problema con tus imágenes es que tienes columnas y filas vacías y en esos espacios pusiste comentarios. Entonces no sé en qué fila tienes tus encabezados, en qué fila empiezan los datos, en qué fila y columna debo pegar los datos. Si te preparo la macro como se ven las imágenes, pero realmente tus datos están en otra posición, entonces tendrás que ajustar la macro. Me dices cómo procedo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas