![]() |
Ejecutar Fórmula Macro Hola estimados amigos del Foro: Mi consulta es la siguiente, tengo un código que me genera la siguiente fórmula: Range("D4:e4").Formula = "=CONTAR.SI(M8:M" & Trim(Str(filas)) & ", max(M8:M" & Trim(Str(filas)) & "))" siendo filas una variable númerica el tema es el siguiente, relleno un formulario y luego de completar los datos al dar click en el botón de aceptar, ejecuta una serie de pasos, incluida la fórmula mencionada precedentemente. El problema es el siguiente, en realidad en el rango especificado me crea la fórmula pero debe ser como formato texto o no estoy muy bien seguro, lo cierto es que no la ejecuta. Al seleccionar la celda de la hoja, y luego hacer un "enter" ... me calcula de lo más bien la fórmula. Pregunta: cómo puedo hacer para que desde la macro que genera dicha fórmula, una vez generada en el rango específico, me la calcule sin tener que seleccionarla y hacer un enter ... Desde ya, muchas gracias por su colaboración. Rubén |
Re: Ejecutar Fórmula Macro Hola Rubén, es un comportamiento raro. Posiblemente tengas que buscarle la vuelta por otro lado sin usar esa función. ¿Cual es la finalidad, contar cuantos valores máximos hay en la lista? Gustavo. |
Re: Ejecutar Fórmula Macro Gracias Scabral por contestar el post. Y tenés razón, la finalidad de la fórmula utilizada es la de contar en un rango determinado la cantidad de veces que se da el máximo valor. Ya solucioné el problema, y quiero compartir con los demás que utilizan esta forma de insertar funciones excel a través de macros. Cuando ejecuto la macro que debería insertar las funciones de contar.si y también max me aparece ¿NOMBRE? Esto significa que Excel no reconce el nombre de la función. Sin embargo, esas funciones existen y funcionan cuando se teclean directamente sobre la hoja de cálculo. Resulta que para que cualquier función de Excel insertada desde una macro NO de error debe ponerse con su nombre en Inglés, la traducción se hace luego de forma automática. Es decir en la macro debe ponerla en inglés y luego cuando esta se inserte en la hoja aparecerá con su nomenclatura en el idioma que corresponda. entonces, en el caso de mi función insertada que era =contar.si("rango";max("rango")) tengo que cambiar la palabra "contar.si" por: =countif("rango";max("rango")) ... y solucionado el problema. GUSTAVO Te agradezco mucho que hayas contestado el post !!! |
Re: Ejecutar Fórmula Macro Pues si en lugar de solo Formula, colocaba FormulaLocal, pues, tambien podias colcoarlo en CAstellano Abraham |
Re: Ejecutar Fórmula Macro Gracias Abraham, pero te cuento que hice lo que aconsejaste, pero al cambiar la palabra Fórmula por FormulaLocal (y obviamente en vez de poner Countif por Contar.si) me da el siguiente error: Se ha producido el error '1004' en tiempo de ejecución Error definido por la aplicación o el objeto |
Re: Ejecutar Fórmula Macro Hummm... quita los STR y comentas Abraham |
Re: Ejecutar Fórmula Macro Hola Abraham, Hice las modificaciones que aconsejaste pero sigue dando el mismo error. Para mayor información voy a compartir mi código (quizás detectes algún problema en el). en forma de comentario es como me da resultado, y como no es la forma que vos me dijiste que pruebe: filas = filas + 7 filita = Trim(Str(filas)) ' este código no me da problemas ' formulita = "=COUNTIF(M8:M" & filita & ",MAX(M8:M" & filita & "))" ' ActiveSheet.Range("D4").Formula = formulita probando como vos me dijiste , quitando los str formulita = "=CONTAR.SI(M8:M" & filas & ",MAX(M8:M" & filas & "))" ActiveSheet.Range("D4").FormulaLocal = formulita me sigue dando el mismo error 1004, en tiempo de ejecución Abraham, Gracias por comunicarte. Rubén |
| La zona horaria es GMT -6. Ahora son las 09:21. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.