A continuación, se explica cómo usar una macro para completar un rango de celdas con una fórmula de su elección.
Al copiar o usar la función Autocompletar, Excel le ofrece muchas opciones para transferir fórmulas de una celda a un rango de celdas. Pero, ¿cómo se hace eso a través de una macro?
Esto es particularmente útil si desea crear tablas o listas automáticamente usando una macro. Aquí necesitas una forma de llenar celdas con fórmulas.
La siguiente figura muestra una lista de números comerciales. Desea agregar funciones de suma en la columna D de esta lista con las que se agregan los valores de las columnas A, B y C.
Utilice una macro de VBA para hacer este trabajo. Primero abra el libro de trabajo en el que desea incluir la macro. Luego presione la combinación de teclas ALT F11 para iniciar el editor de VBA. Luego seleccione la función INSERTAR - MODULO. Luego ingrese la siguiente macro:
Sub SummenPerMakro ()
Atenuar celda como rango
Dim Nr tan largo
Para cada celda en ActiveSheet.Range ("d2: d10")
No = Cell.Row
Cell.FormulaLocal = "= SUM (A" & Nr & ": C" & Nr & ")"
Siguiente celda
End Sub
Marko procesa el rango de celdas D2: D10 en la hoja de trabajo activa. Las celdas se pasan de una celda a otra. La macro usa la propiedad FORMULALOCAL para ingresar una fórmula de suma en cada una de estas celdas.
En esta fórmula, las áreas que se agregan se ajustan en cada línea. En la línea 2 es A2: C2, en la línea 3 es A3: C3, etc.
La fórmula hace esto usando la variable NR para consultar el número de línea actual dentro del ciclo usando la propiedad FILA. Luego, la macro compone gradualmente la fórmula de suma a partir de los componentes individuales del texto.
La siguiente figura muestra el resultado después de iniciar la macro. Para comenzar, use la combinación de teclas ALT F8 en Excel y seleccione la macro SUMMENPERMAKRO.
También hay otras formas de hacer el trabajo a través de una macro. Una variante es usar la macro para ingresar la fórmula en una sola celda y luego copiarla para que Excel pueda ajustar las referencias de forma independiente.