Macro para copiar contenido de varias celdas

Tengo una hoja en donde tengo que rellenar cinco celdas, cuando estas celdas están completas quisiera que la hoja con todos los datos se guardara completa en una carpeta(cortar y pegar)y el contenido de las cinco celdas se grabaran en una fila de otra hoja en orden ascendente, es decir si el contenido de la primera vez se copia en la fila 1ª la siguiente copia siga en la fila 2 y así sucesivamente.- ¡Ah todo esto activado con un botón en la hoja !
Soy un completo novato en esto Gracias anticipadas

1 respuesta

Respuesta
1
Vale veo que no eres muy entendido en macros, por ello necesito que me aclares lo siguiente
1º No entiendo eso de que cuando tengas las celdas rellenas se guarde en una carpeta Cortar-pegar. Vamos a ver un libro de excel se guarda como libro de Excel puedes darle un nombre pero la hoja no puedes sacarla del libro y guardarla en una carpeta. Eso necesito que me expliques como quieres hacerlo.
2º Necesito las celdas (el rango, A2, B5, C4... las que sean)
3º Entiendo que las celdas que has rellenado en la Hoja1 las quieres pasar a la Hoja2, pongamos en las celdas A1 hasta la E1, la siguiente vez que se vayan a la A2 hasta la E2 y así sucesivamente aumentando 1 fila cada vez
4º Que para hacer esto tengas un botón en la Hoja 1
Aclarame todo y te hago la macro
>Un saludo
>Julio
En primer lugar GRACIAS por tu compresión.
Lo que quier decir en el punto 1º es que cuando estén las celdas llenas la hoja (libro)que se encuentra en una carpeta (Intermedio)se copie a otra carpeta(P. Final) y se borre de la Primera.
  Las celdas, de momento no te las puedo dar (no estoy en el trabajo) en cuanto pueda te las mando.
Los puntos 3 y 4 correctos
Lo siento no entiendo lo de hoja libro intermedio P.Final
Aclarame, como se llama la hoja donde estas trabajando
2º Como se llama el libro donde estas trabajando
3º Ese libro esta en una carpeta ¿como se llama la carpeta
4º El libro donde quieres guardar los datos ¿cómo se llama, y en que carpeta está?
¿5º Cómo se llama la hoja donde quieres pegar tus datos
Y necesito la ruta de esas carpetas algo así C:/Mis Documentos/Mi trabajo
si en ella tienes dos carpetas imagino que estarán una en C:/Mis Documentos/Mi trabajo/Intermedio/Libro.xls y el otro C:/Mis Documentos/Mi trabajo/P.Final/y aquí quieres poner tu libro desde la otra carpeta?
Aclarameló
En cuanto tenga todos los datos te los paso
Nuevamente gracias
A ver si me se explicar, tengo dos libros, el libro "Tan" que esta en la carpeta "C:/datos/Intermedio" y el libro"Ana" que esta en la carpeta "C:/datos/P.Final"
Quiero que el contenido de las celdas F7.-G7.-H7.-I7.-J7 del libro "Tan" se copien en las celdas D8.-E8.-F8.-G8.-H8.- Del libro"Ana"y que una vez guardadas, el libro "Tan " se borre de la carpeta de "Intermedio"
Y que las siguientes copias de las celdas F7.-G7.-H7.-I7.-J7 de copien en las filas siguientes
D9.-D10.-D11, tal como me comentas en el punto 3º de tu primera respuesta.
A todo ello ¿Antes de borrar la hoja "Tan" de la carpeta intermedio esta se podría imprimir?
Reiterando las Gracias
pepapepe
Vale lo entendíla macro es esta, pero ¡OJO! El comando Kill lo elimina sin pasar por papelera desaparece
Otra cosa que no entiendo es si ponemos en la macro que después de copiar las celdas desde F7 hasta J7 las pegue en D8 hasta H8 imprimimos el libro lo cerramos y lo eliminamos de donde sacaras las siguientes celdas para copiarlas y pegarlas en la fila de D9 hasta H9 si ya no tienes libro que abrir copiar y cerrar, la macro daría un error, de todas formas hasta que me aclares ese tema la macro es esta, la macro la tendrías que poner en el libro ANA:
Private Sub Copia_Pega_Borra()
'Decimos el directorio
ChDir "C:\Datos\Intermedio"
'Decimos el archivo a abrir
Workbooks.Open Filename:="C:\Datos\Intermedio\TAN.xls"
'Seleccionamos el rango a copiar
Range("F7:J7").Select
'Copiamos el rango
Selection.Copy
'Minimizamos el Libro TAN
ActiveWindow.WindowState = xlMinimized
'Maximizamos el libro ANA
ActiveWindow.WindowState = xlMaximized
'Seleccionamos la celda donde pegar los datos
Range("D8").Select
'Pegamos los datos
ActiveSheet. Paste
'Minimizamos el Libro ANA
ActiveWindow.WindowState = xlMinimized
'Activo el libro TAN
Windows("TAN.xls").Activate
ActiveWindow.WindowState = xlMaximized
Application.CutCopyMode = False
'Imprimimos la hoja activa (primero selecciona el rango de impresion y lo reduces a '90% porque donde estan los datos no se imprime en una sola hoja
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'Cerramos el Libro TAN
ActiveWindow. Close
'Eliminamos el libro TAN
Kill "C:\Datos\Intermedio\TAN.xls"
End Sub
Me explicas de donde cogemos los siguientes datos y termino la macro
>Un saludo
>Julio
A la carpeta " Intermedio" van a parar diferentes hojas" Ana" una vez que están rellenadas, así que creo que copiando la macro que tu me has preparado en las todas las hojas originales Ana me funcinara
  Cuando lo tenga montado ya te comunicaré como me ha ido y REITERO una vez más mis muchísimas Gracias
De acuerdo,
>Un saludo
>Julio
Estoy en ello y de momento me va todo bien, pero me queda pendiente el
¿Cómo las celdas que rellenas en la hoja " Ana " la siguiente vez que se copien se copien en la fila siguiente?
  ¿Cómo guardo la hoja rellena "Tan" en el C:/datos/P.Final , antes de Imprimir y de borrar de C:/datos/intermedio?
Saludos
Entendí que querías eliminar la hoja TAN no cambiarla de directorio, aclarame eso
También te pregunte de donde vas a copiar los datos al Libro ANA si no tenias de sonde ya que lo habíamos eliminado. También me tienes que aclarar eso, rellenamos el Libro TAN y ahora me dices que quieres guardarlo en el directorio P.Final pero eso no es eliminarlo. ¿De dónde coges los siguientes datos para pegar en el Libro ANA?
Aclarame paso a paso que quieres hacer, la verdad es que no te entiendo el procedimiento.
Lo que pretendo es que una vez que TAN que está en (C:datos/intermedio) se haya completado pase al C:/datos/P.final y se elimine del C:/datos/intermedio................Por eso lo de la primera pregunta de Cortar y pegar
Tengo varias entradas de TAN (todas con la misma macro), que se van completando a medias, cuando ya están completas, es cuando(apretando un botón) se tienen que copiar los datos de las celdas marcadas en TAN en ANA, guardar toda la hoja en C:/datos/Final , imprimir y vaciar el C:/datos/intermedio
Saludos
Por fin entendido, la macro en parte te vale pero no la ejecutes porque te quedas sin los archivos TAN debido a la instrucción Kill. Hoy te la modifico ahora que ya lo he entendido y te envío la nueva macro.
>Un saludo
>Julio
Aquí tienes la macro completa:
Private Sub Copia_Pega_Borra()
Dim libro As String
libro = InputBox("Escribe el nombre del libro", "PREGUNTA")
'Decimos el directorio que abriremos
ChDir "C:\Datos\Intermedio"
'Decimos el archivo a abrir
Workbooks.Open Filename:="C:\Datos\Intermedio\" & libro & ""
'Seleccionamos el rango a copiar
Range("F7:J7").Select
'Copiamos el rango
Selection.Copy
'Minimizamos el libro TAN
ActiveWindow.WindowState = xlMinimized
'Maximizamos el libro ANA
ActiveWindow.WindowState = xlMaximized
'Seleccionamos la celda donde pegar los datos
Range("D8").Select
'Pegamos los datos
ActiveSheet.Paste
'Minimizamos el Libro ANA
ActiveWindow.WindowState = xlMinimized
'Maximizamos el libro TAN
ActiveWindow.WindowState = xlMaximized
Application.CutCopyMode = False
'Imprimimos la hoja activa (primero selecciona el rango de impresion y lo reduces a '90% porque donde estan los datos no se imprime en una sola hoja
'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'Elegimos la carpeta donde guardarlo del mismo directorio
carpeta = InputBox("Escriba el nombre de la carpeta", "CARPETA")
'Guardamos el libro TAN
ActiveWorkbook.SaveAs Filename:="C:\Datos\" & carpeta & "\TAN.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
'Eliminamos el libro TAN del directorio original
Kill "C:\Datos\Intermedio\TAN.xls"
'Abrimos otro libro TAN será el 2 porque hemos eliminado TAN
libro2 = InputBox("libro que abrimos", "PREGUNTA")
'Decimos el directorio
ChDir "C:\Datos\Intermedio"
'Decimos el archivo a abrir
Workbooks.Open Filename:="C:\Datos\Intermedio\" & libro2 & ""
'Seleccionamos el rango a copiar
Range("F7:J7").Select
'Copiamos el rango
Selection.Copy
'Activamos el libro ANA
Windows("ANA.xls").Activate
'Nos situamos en la primera celda de D
Range("D1").Select
'Bajamos hasta la última fila adyacente, que contenga datos
Selection.End(xlDown).Select
'Pasamos a la siguiente línea, que será una línea en blanco
ActiveCell.Offset(1, 0).Select
'Pegamos los nuevos datos desde TAN2
ActiveSheet.Paste
End Sub
Espero que ahora la tengas completa
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas