Saltar al contenido

Ejecutar una formula de excel con una macro


Recommended Posts

HOL A TODOS LOS COLABORADORES.

Apenas estoy empezando en el mundo de VB, y quisera que me echen una ayudita con lo siguiente: Quiero que se ejecute una formula al correr una macro. La formula es la siguiente: =SUMAR.SI.CONJUNTO(BaseDatos!E3:E15000;BaseDatos!C3:C15000;cedula;BaseDatos!I3:I15000;C2;BaseDatos!J3:J15000;D2). esta formula esta en la celda b3 y es en esa celda donde quiero se ejecute al correr la macro, de tal manera que cuando yo de click en el boton de la macro esta haga esa formula y me coloque el resultado

gracias por la atencion.

sumarmacros.xls

Enlace a comentario
Compartir con otras webs

Hola, cjesusrh28.

Digamos que si quieres, por ejemplo, que la fórmula se pegue y se ejecute en la celda "A1" de la hoja activa, entonces debes agregar una línea como la siguiente al código de tu macro:

Range("A1").FormulaR1C1 = "=SUMIFS(Hoja2!R2C5:R6C5,Hoja2!R2C6:R6C6,""m"")"

Observa que las referencias están en formato FC (en inglés es RC, es decir, en el lenguaje de la macro), esto es Fila Columna (Row Column).

Ten en cuenta que en programación con VBA no existen nombres de funciones de Excel en español, por esa razón ves que he utilizado SUMIFS en lugar de SUMAR.SI.CONJUNTO.

En el ejemplo que te he dado lo que he hecho es sumar los valores de la columna "E" (filas 2 a la 6) que tengan como contraparte un valor "m" en la columna "F" (filas 2 a 6). Pon mucho cuidado a cómo he expresado el valor "m" en la fórmula en la líneade código, observa que la m está encerrada entre par de comillas compuestas.

Espero sea eso lo que entendí estabas buscando.

Elio.

Enlace a comentario
Compartir con otras webs

HOLA HECTOR, gracias por la ayuda.

no he podido ajustar el codigo que me enviaste al archivo original ya que no lo he podido asemejar a la formula de excel:

Codigo: ActiveCell.FormulaR1C1 = "=SUMIFS(BaseDatos!R[-1]C[3]:R[12]C[3],BaseDatos!R[-1]C[1]:R[12]C[1],cedula,BaseDatos!R[-1]C[7]:R[12]C[7],R[-1]C[1],BaseDatos!R[-1]C[8]:R[12]C[8],R[-1]C[2])"

Formula: =SUMAR.SI.CONJUNTO(BaseDatos!E3:E15000;BaseDatos!C3:C15000;cedula;BaseDatos!I3:I 15000;C2;BaseDatos!J3:J15000;D2).

Me podrias explicar que parte del codigo corresponde a la formula. El archivo Original tiene las formulas en la celda E15 asi:

=SUMAR.SI.CONJUNTO(BaseDatos!E3:E15000;BaseDatos!C3:C15000;cedula;BaseDatos!I3:I15000;F6;BaseDatos!J3:J15000;G6).

agradezco tu colaboracion.

gracias

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.