Copiar fórmula de una celda en todas las celdas vacías de un rango

Tengo la siguiente secuencia que copia "texto" en las celdas vacías de un rango, pero lo que necesito es que me copie la fórmula de la celda X2 a todas las celdas vacías del rango. Gracias de antemano por su ayuda

Sub Copiado()
For Each Celda In Range("I2:I20")
If Celda.Value = "" Then Celda.Value = "Texto"
Next
End Sub

1 Respuesta

Respuesta
1

Puedes utilizar la siguiente opción:

Sub Copiado()
'Por.Dante Amor
    Application.ScreenUpdating = False
    [X2].Copy
    For Each Celda In Range("I2:I20")
        If Celda.Value = "" Then
            Celda.Select
            ActiveSheet.Paste
        End If
    Next
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
End Sub

O también puede ser con esta opción

Sub copia2()
'Por.Dante Amor
    Range("X2").Copy
    Range("I2:I20").SpecialCells(xlCellTypeBlanks).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub

O por último esta opción

Sub copia3()
'Por.Dante Amor
    [I2:I20].SpecialCells(xlCellTypeBlanks).Formula = [X2].Formula
End Sub

Saludos.Dante Amor

No olvides valorar la respuesta.

Muchas gracias. Me parecen sencillas y super útiles las tres propuestas. Una cosa más: para dejar sólo el valor de la fórmula copiada, ¿cómo sería la secuencia utilizando la tercera propuesta?

Gracias

En la tercera, quita las palabras "formula"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas