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