Copiar, pegar y acumular.

Hola Fernando de nuevo Joaquin de qro. Tengo el Sig.problema mira quiero copiar de al hoja "captura" toda la fila a5 y pegar en la hoja "acumula" en la fila a2, y que regrese a la hoja "captura" a5, es obvio que cuando capture la nueva información que copie toda la fila a5 y la page en la hoja "acumula" en la fila a3... Y así sucesivamente ejemplo:
Hoja captura
A5 = MEXICO
HOJA ACUMULA
A2 = QUERETARO
A3 = LEON
A4 = MERIDA
A5 = TOLUCA
A6= ......MEXICO
Espero que con esto me puedas entender gracias, y en espero de tu ayuda...

1 respuesta

Respuesta
1
La verdad es que no me quedó muy claro tu objetivo y la estructura de tu archivo.
Pero nos iremos aproximando a una solución.
Te propongo la siguiente solución y, luego, dime qué será necesario cambiar para que funcione bien:
Parece que lo que quieres es una especie de máscara de entrada, de forma tal que al ingresar los datos en ella se transfieran a la hoja "ACUMULA" agregando las líneas una después de la otra.
Activa el editor de Visual Basic (presiona Alt+F11) e inserta un módulo nuevo y allí pegarás el código siguiente:
Sub FormCarga()
OrigSheet = ActiveSheet.Name
Range("A5:G5").Copy
'================== Modificar de acuerdo a tus datos reales
HojaDest = "ACUMULA"
Firstcell = "A1"
'==================
Sheets(HojaDest).Select
Range(Firstcell).Select
LCol = Selection.Column
LCell = Selection.Row
LCell = LCell + Selection.CurrentRegion.Rows.Count
Cells(LCell, LCol).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Cells(LCell, LCol).Select
Sheets(OrigSheet).Select
Range("A5:G5").ClearContents
Range("A5").Select
End Sub
(Hay dos variables entre las líneas de ==== que deberás reemplazar por tus datos propios. Corresponden a la hoja donde se deben volcar los datos y la primer celda superior de la derecha donde comienza tu tabla)
Cierra el editor de Visual Basic y graba el archivo.
Esta macro sirve para identificar la última celda ocupada en la hoja de destino (CAPTURA) y allí pega los datos cargados en el rango "A5:G5",
Nota que siempre pegará este rango completo después de identificar la última línea ocupada en la Hoja "ACUMULA"
Finalmente, borrará los datos del rango original para una nueva carga.
Si no deseas que los borre, elimina la línea:
Range("A5:G5"). ClearContents
Pruebalo y dime si funciona OK.
Tal vez esto sea lo que solicitabas.
Si no, pregúntame de nuevo.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas