VBA – Macro para incluir valor o fórmula en una celda

Hola Freaks!!! Continuamos automatizando nuestros ficheros excel, y esta vez vamos a incluir un valor o fórmula en una celda con vba.

Podemos saber la celda concreta en la que queremos insertar el valor, o no. Podemos insertar una fórmula en vez de un valor fijo. Podemos incluir el mismo valor en un rango de celdas…

Como hay tantas posibilidades, te voy a mostrar los más comunes

Incluir valor en la celda activa vba

Cuando no sabemos exactamente la celda en la que queremos insertar un valor, o porque las celdas van variando, podemos insertar un valor en la celda activa de la siguiente manera:

Sub IncluirValorVBA_1() '
    ActiveCell.Value = "Bienvenido al Curso avanzado de Excelfreak."
End Sub

Insertar valor en una celda concreta vba

Cuando sí sabemos la celda en la que vamos a incluir un valor, vamos a decirle a nuestra macro que rellene una celda específica con un valor de la siguiente manera:

Sub IncluirValorVBA_2() '
    Range("A1").Value = "Bienvenido al Curso avanzado de Excelfreak."
End Sub

Añadir valor a un rango de celdas vba

También puede darse el caso de querer insertar un valor en un rango de celdas. Lo haremos de la siguiente manera:

Sub IncluirValorVBA_3() '
    Range("A1:D1").Value = "Bienvenido al Curso avanzado de Excelfreak."
End Sub

Asignar una fórmula en una celda específica vba

Si en vez de incluir un valor en una celda queremos insertar una fórmula en una celda concreta podemos hacerlo de la siguiente manera:

En este caso la fórmula devuelve las celdas desde la b2 a la b6 que no son vacías y la inserto en la celda b1.

Es útil si a continuación, esa fórmula, se pega como valores, de tal forma que el fichero sea más agil en el uso ya que no tendría fórmulas.

Sub IncluirValorVBA_4() '
    Range("B1").Value = "=CONTARA(B2:B6)"
End Sub

Incluir valor en una celda de una hoja de trabajo concreta vba

Cuando tenemos que insertar un valor en distintas hojas de trabajo puede llegar a ser molesto ver mucho código cuando en una sola línea puedes tener cada inserción

Sub IncluirValorVBA_5()
' Incluir valor en una celda de una hoja de trabajo concreta vba
    Worksheets("Hoja1").Range("A5").Value = 500
    Worksheets("Hoja2").Range("B2").Value = 500
    Worksheets("Hoja3").Range("G2").Value = 500
End Sub

Si tienes alguna duda, realízanos la pregunta en el foro excel

<< Clase 8.5.4: Rellenar celdas con una macro Clase 8.5.6:  (próximamente) >>
<< Regresar al índice de Curso de Excel Online Avanzado

Un saludo Freaks!

Autor entrada: Javi de Excelfreak

Deja un comentario