Saltar al contenido

Copiar datos en la primera fila libre de otra hoja


LeFuet

Recommended Posts

publicado

Buenas, una vez más recurro a vosotros antes mi más absoluta inutilidad para conseguir nada serio en esto de las macros.

En esta ocasión intento copiar varias celdas desde una hoja a otra, la idea sería que las copiase en la primera fila libre que encontrase en la "Presupuesto", es decir, la primera fila sin ningún dato en ninguna de las columnas. Por ahora he conseguido esto que os pongo, el problema es que me copia los datos, pero los pone en la primera fila de la hoja de destino, lo que dificulta luego las cosas.

Las relaciones entre las casillas de cada hoja son las que se detallan en el código, se tienen que copiar cada una en su destino concreto.

Sub copiar_celdas()
Sheets("Presupuesto").Range("A3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "A").Value = Sheets("Introducción").Cells(1, "B").Value

Sheets("Presupuesto").Range("B3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "B").Value = Sheets("Introducción").Cells(5, "B").Value

Sheets("Presupuesto").Range("C3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "C").Value = Sheets("Introducción").Cells(3, "C").Value

Sheets("Presupuesto").Range("D3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "D").Value = Sheets("Introducción").Cells(3, "E").Value

Sheets("Presupuesto").Range("E3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "E").Value = Sheets("Introducción").Cells(3, "G").Value

Sheets("Presupuesto").Range("F3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "F").Value = Sheets("Introducción").Cells(3, "I").Value

Sheets("Presupuesto").Range("G3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "G").Value = Sheets("Introducción").Cells(3, "K").Value

Sheets("Presupuesto").Range("H3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "H").Value = Sheets("Introducción").Cells(3, "M").Value

Sheets("Presupuesto").Range("I3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "I").Value = Sheets("Introducción").Cells(3, "O").Value

Sheets("Presupuesto").Range("J3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "J").Value = Sheets("Introducción").Cells(3, "Q").Value

Sheets("Presupuesto").Range("K3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "K").Value = Sheets("Introducción").Cells(3, "S").Value

Sheets("Presupuesto").Range("L3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "L").Value = Sheets("Introducción").Cells(3, "U").Value

Sheets("Presupuesto").Range("M3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "M").Value = Sheets("Introducción").Cells(3, "W").Value

Sheets("Presupuesto").Range("N3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "N").Value = Sheets("Introducción").Cells(3, "Y").Value

Sheets("Presupuesto").Range("O3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "O").Value = Sheets("Introducción").Cells(5, "AA").Value

Sheets("Presupuesto").Range("Q3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "Q").Value = Sheets("Introducción").Cells(7, "C").Value

Sheets("Presupuesto").Range("R3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "R").Value = Sheets("Introducción").Cells(7, "E").Value

Sheets("Presupuesto").Range("S3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "S").Value = Sheets("Introducción").Cells(7, "G").Value

Sheets("Presupuesto").Range("T3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "T").Value = Sheets("Introducción").Cells(7, "I").Value

Sheets("Presupuesto").Range("U3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "U").Value = Sheets("Introducción").Cells(7, "K").Value

Sheets("Presupuesto").Range("W3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "W").Value = Sheets("Introducción").Cells(9, "C").Value

Sheets("Presupuesto").Range("X3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "X").Value = Sheets("Introducción").Cells(9, "E").Value

Sheets("Presupuesto").Range("Y3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "Y").Value = Sheets("Introducción").Cells(9, "G").Value

Sheets("Presupuesto").Range("Z3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "Z").Value = Sheets("Introducción").Cells(9, "I").Value

Sheets("Presupuesto").Range("AA3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Presupuesto").Cells(3, "AA").Value = Sheets("Introducción").Cells(9, "K").Value

End Sub
[/CODE]

He encontrado la manera de buscar la primera fila libre, se como copiar y seleccionar las casillas, pero, ni idea de como juntarlo todo en una sola macro.

Gracias de antemano.

publicado

Al final lo he podido solucionar, eso si, ahora tengo otro problema, detallo:

Necesito que de la "Hoja1" seleccione todas las casillas con datos de las columnas A, AD, AZ y BA desde la tercera casillas hasta el final, y las copie en la "Hoja2" en las columnas de la siguiente manera:

A en A

AD en B

AZ en C

BA en D

Para, al final, una vez todo copiado, añada en la última línea una suma total de las columnas B, C y D desde la casillas 3 hasta el final, a poder ser, coloreandolas de alguna manera para resaltarlas.

Esto dejaría mi proyecto sublime, lástima que no sea capaz de hacerlo.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.