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
Índice
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!