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 de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
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