Macro para copiar en la ultima fila libre

Tengo en una hoja un listado de precios, que en realidad es una macro que hace un listado de todas las hojas del libro. Ahora bien, el listado aparece en la columna B, en las columnas C a J, hay fórmulas asociadas a lo que aparece en la B.
¿Lo qué necesito es una macro que me ubique la ultima fila de la columna C con datos y copie ahí las fórmulas que hay desde C a J. Se entiende?
La macro de esa hoja es:
Dim fill As Long, w As Worksheet, sHoja As String
fill = 2
For Each w In ThisWorkbook.Worksheets
sHoja = w.Name
Cells(fill, 2).FormulaR1C1 = sHoja
ActiveSheet.Hyperlinks.Add Anchor:=Cells(fill, 2), Address:="", _
SubAddress:=sHoja & "!A1", TextToDisplay:=sHoja
fill = fill + 1
Next w
Rows("2:5").Select
Selection.Delete Shift:=xlUp
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Columns("B:j").Select
    Selection.Sort Key1:=Range("c2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
intente con 
Dim SigFila As Long
Application.ScreenUpdating = False
Range("c5:j5").Select
Selection.Copy
ActiveSheet.Select
SigFila = Range("c65536").Select
ActiveCell.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveSheet.Select
Application.ScreenUpdating = True
End Sub
Pero no funciona.

1 respuesta

Respuesta
1
Vamos a ver lo que tu quieres es situarte en la ultima celda vacía de la columna C y en esta pegar el rango C5:J5 pero las fórmulas no los valores, si es así la macro sería esta:
Sub copiar()
Application.ScreenUpdating=False
Range("C5").Select
Range("C5:J5").Copy
'Si no tienes celdas vacías pondríamos esta linea
ActiveCell.End(xlDown).Offset(1,0).Select
'Si tienes celdas vacías estas
Range("C65536").Select
ActiveCell.End(xlUp).Offset(1,0).Select
'Y ahora pegamos las formulas, no los valores
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveSheet.Select
Application.ScreenUpdating = True
End Sub
Si te sirvió puntúa y finaliza la consulta. Gracias.
>Un saludo
>Julio
Me marca un error en
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
Y no tengo idea que es...
Pero que datos tienes en las celdas desde la C5 hasta la J5 no entiendo porque te da error si tu dices que en esas celdas hay fórmulas.
Aclarame el contenido de esas celdas.
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas