Ingresar fórmula en hoja seleccionada

Tengo el siguiente código

Sub Copiar_Rec_a_Kardex()
For Each Hoja In Worksheets
If Hoja.Name <> "REC" Then
Set Origen = Range("O2")
For Each cell In Origen
If cell.Value = Hoja.Name Then
uFila = Worksheets("REC").Range("A" & Rows.Count).End(xlUp).Row
Worksheets("REC").Range("A3:N" & uFila).Copy Destination:=Worksheets(Hoja.Name).Range("A" & Rows.Count).End(xlUp).Offset(1)
Else
'si no coincide no hace nada
End If
Next cell
End If
Next
Range("f1") = ""
End Sub

Lo que hace es copiar el rango de la hoja con el nombre "REC" a la hoja con el nombre de mi libro que coincide con la celda "O2" de la hoja REC, funciona a la perfección, ¿pero cómo hacer una fórmula de suma en la hoja donde se ha copiado el contenido?

1

1 Respuesta

5.725 pts. Con hambre de aprender Macros

Prueba con esta macro

Sub sumando()
'By cecilio Pérez Maqueda
Range("A65000").End(xlUp).Offset(2) = "Fin"
Range("B2").Select
Do While ActiveCell.Offset(0, -1) <> "Fin"
        If ActiveCell = "" Then
           ActiveCell.Offset(1, 0).Select
Else
        ini = ActiveCell.Row
         Selection.End(xlDown).Select
         Fin = ActiveCell.Row
         ActiveCell.Offset(1, 0).Select
         ActiveCell.Formula = "=sum(R" & ini & "c:R" & Fin & "c)"
        ActiveCell.Offset(1, 0).Select
   End If
Loop
End Sub

Todo empieza seleccionando el Rango B2  tú lo adaptas donde empieza tus numeros/cantidades, lo hace mientras la columna de atrás sea diferente a  la palabra"fin" ( Do While ActiveCell.Offset(0, -1) <> "Fin" mismo que coloca al principio

En cuanto a la variable "ini" y "fin" en automático se adapta

En caso de que te sea útil valora mi trabajo

Esta fórmula es la que necesito ingresar

Range("O7").FormulaLocal = "=+k7-m7"


With Range("o8:o" & Range("A" & Rows.Count).End(xlUp).Row)
.FormulaR1C1 = "=+R[-1]C+RC[-4]-RC[-2]"

End With

¿No veo la suma que mencionas en tu consulta?

¿O sea que en Range("O7") quieres el resultado de la resta de K7 - m7?

¡Gracias! 

Hice lo siguiente

Sub Ir_a_Kardysumtkt()

ActiveWorkbook.Sheets(Range("s2").Value).Activate
Range("s2").Select
ATotalizar

'Sheets("NCLT").Select
Range("a1").Select
End Sub

Saludos cordiales

Jesús

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas