como ejecutar la funcion SUMAR.SI.CONJUNTO desde vb editor

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

como ejecutar la funcion SUMAR.SI.CONJUNTO desde vb editor

Notapor David Adolfo » 06 Dic 2011 21:39

por favor si me pueden colaborar

Como puede ejecutar la funcion
SUMAR.SI.CONJUNTO(AB16:AB14997;AC16:AC14997;X4;AD16:AD14997;X6)

sumar si conjunto desde visual Basic para excel; los criterios y los rangos de criterios estan referenciados por formulas que arrojan o no determinados valores

Les quedo desde ya altamente agradecido ! Que Dios Todopoderoso le continue bendiciendo
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
David Adolfo
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Sep 2011 23:03

Re: como ejecutar la funcion SUMAR.SI.CONJUNTO desde vb edit

Notapor Héctor Miguel » 07 Dic 2011 00:17

hola,David !
Como puede ejecutar la funcion
SUMAR.SI.CONJUNTO(AB16:AB14997;AC16:AC14997;X4;AD16:AD14997;X6)
sumar si conjunto desde visual Basic para excel; los criterios y los rangos de criterios estan referenciados por formulas que arrojan o no determinados valores

dependiendo del significado de "ejecutar", las funciones de excel desde vba tienen varias alternativas...

op1: para "depositar" una formula en una celda (?)
a) <rango destino>.Formula = "=la funcion EN INGLES(con sus argumentos separados por coma)"
b) <rango destino>.FormulaLocal = "la funcion en idioma local(con separador de argumentos local)"

op2: para simplemente conocer el resultado como si aplicaras la funcion en alguna celda (?)
Restultado = Application.WorksheetFunction.SumIfs(arg1, arg2, arg3 [, ...])

ejemplo de la op1 con los datos de tu consulta (suponiendo que la formula la depositas en [Z45]...
Range("z45").Formula = "=sumifs(ab16:ab14997,ac16:ac14997,x4,ad16:ad14997,x6)"

te toca adaptar a los datos reales y sobre todo por la forma en que determinas los rangos para los argumentos

saludos,
hector.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Héctor Miguel
Miembro Frecuente
Miembro Frecuente
 
Registrado: 26 Mar 2005 18:31

Re: como ejecutar la funcion SUMAR.SI.CONJUNTO desde vb edit

Notapor David Adolfo » 12 Dic 2011 21:10

Héctor Miguel escribió:hola,David !
Como puede ejecutar la funcion
SUMAR.SI.CONJUNTO(AB16:AB14997;AC16:AC14997;X4;AD16:AD14997;X6)
sumar si conjunto desde visual Basic para excel; los criterios y los rangos de criterios estan referenciados por formulas que arrojan o no determinados valores

dependiendo del significado de "ejecutar", las funciones de excel desde vba tienen varias alternativas...

op1: para "depositar" una formula en una celda (?)
a) <rango destino>.Formula = "=la funcion EN INGLES(con sus argumentos separados por coma)"
b) <rango destino>.FormulaLocal = "la funcion en idioma local(con separador de argumentos local)"

op2: para simplemente conocer el resultado como si aplicaras la funcion en alguna celda (?)
Restultado = Application.WorksheetFunction.SumIfs(arg1, arg2, arg3 [, ...])

ejemplo de la op1 con los datos de tu consulta (suponiendo que la formula la depositas en [Z45]...
Range("z45").Formula = "=sumifs(ab16:ab14997,ac16:ac14997,x4,ad16:ad14997,x6)"

te toca adaptar a los datos reales y sobre todo por la forma en que determinas los rangos para los argumentos

saludos,
hector.


Respetado señor Hector, Muchas gracias por tu aporte, a partir de él me di a la tarea de estudiar mi pregunta y esta fue la solucion que me funcionó

Range("w9").Value = Application.WorksheetFunction.SumIfs(Hoja10.Range("ab16:ab11000"), Hoja10.Range("ac16:ac11000"), Hoja10.Range("w4").Value, Hoja10.Range("ad16:ad11000"), Hoja10.Range("w6").Value)

Mi pregunta habarcaba la segunda opcion la primera la verifique y efectivamente funciono

Para la segunda es decir que aparezca solo el resultado es la solución realizada

Destaco que me equivocaba por utilizar el nombre de la hoja y no la nominacion Hoja1o en mi caso, a propósito la referencia a la hoja se hace en español, con sheets fue una matadera y no funciono con la palabra Hoja10 si funciono

Buenos muchisimas gracias y dejo un archivo adjunto por si acaso alguien presenta la misma dificultad, ejercicio con el cual resolvi mi inquitud !
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
David Adolfo
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Sep 2011 23:03


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot], conter30, Google [Bot], olga3963, yesly y 4 invitados