Sumar celda de un rango de hojas

Quisiera sumar la celda F4 a lo largo de un rango de hojas pero no me detecta la hoja en la variable "ultima" que contiene la ultima hoja del rango de hojas de las que quiero sumar la celda

Sub totales()
    Dim ultima As Worksheet
    Set ultima = ActiveSheet
    Sheets("PLANTILLA").Copy After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = "TOTAL"
    Sheets("TOTAL").Select
    Range("F4").FormulaR1C1 = "=SUM('PLANTILLA:ultima'!RC)"
End Sub

1 respuesta

Respuesta
1

H o  l a:

Quedaría así:

Sub totales()
'Act.Por.Dante Amor
    Dim ultima As Worksheet
    Set ultima = Sheets(Sheets.Count)
    Sheets("PLANTILLA").Copy After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = "TOTAL"
    Sheets("TOTAL").Select
    Range("F4").FormulaR1C1 = "=SUM('PLANTILLA:" & ultima.Name & "'!RC)"
End Sub

Hola, gracias por tu ayuda. He intentado lo que dices pero no funciona, sigue sin cogerme la hoja. La celda resultante me da error #!REF y mirando que formula le ha aplicado el VBA el resultante es el siguiente:

=SUMA('PLANTILLA:[ultima]ultima'!E5)

Perdona, si que funciona muchas gracias! ¿Podrías explicarme que significan las "&" y por que es necesario ponerlo de esta forma?

Te explico el funcionamiento:

Sub totales()
'Act.Por.Dante Amor
    Dim ultima As Worksheet
    '
    'En la variable ultima estás estableciendo al objeto hoja
 'en este caso la última hoja es la que se establece en la variable ultima
    Set ultima = Sheets(Sheets.Count)
    '
    'después copias la hoja plantilla y la pones hasta el final de la hojas
    Sheets("PLANTILLA").Copy After:=Sheets(Sheets.Count)
    '
    'le cambias el nombre a la hoja recién creada
    Sheets(Sheets.Count).Name = "TOTAL"
    Sheets("TOTAL").Select
    '
    'en la hoja total vas poner la fórmula que te suma desde la hoja "PLANILLA"
    'hasta la la útima hoja
    '"=SUM('PLANTILLA:"  aquí va el nombre de la última hoja "'!RC)"
    'Al principio establecimos en la variable ultima el objeto de la última hoja
 'entonces con la propiedad .name obtenemos el nombre de la ultima hoja
 'de esta forma: ultima.name
    'lo que falta es concatenar el nombre de la ultima hoja a la fórmula
    'para concatenar utilizamos el símbolo &
    'cuando concatenas una variable dentro de un texto, tienes que el símbolo &
    'al principio y al final de la variable ejemplo:
    '"inicio texto, final texto"
    'con una variable:
    '"inicio texto, " & variable & " final texto"
    '
    Range("F4").FormulaR1C1 = "=SUM('PLANTILLA:" & ultima.Name & "'!RC)"
End Sub

S a l u d o s . D a n t e   A m o r. 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas