Foros del Web » Soporte técnico » Ofimática »

Ejecutar Fórmula Macro

Estas en el tema de Ejecutar Fórmula Macro en el foro de Ofimática en Foros del Web. 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)) & ...
  #1 (permalink)  
Antiguo 24/04/2008, 15:11
 
Fecha de Ingreso: noviembre-2004
Ubicación: Argentina
Mensajes: 18
Antigüedad: 19 años, 5 meses
Puntos: 0
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
  #2 (permalink)  
Antiguo 25/04/2008, 15:10
Avatar de scabral  
Fecha de Ingreso: abril-2008
Ubicación: Argentina
Mensajes: 93
Antigüedad: 16 años
Puntos: 3
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.
  #3 (permalink)  
Antiguo 25/04/2008, 21:55
 
Fecha de Ingreso: noviembre-2004
Ubicación: Argentina
Mensajes: 18
Antigüedad: 19 años, 5 meses
Puntos: 0
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 !!!

Última edición por Rupers; 25/04/2008 a las 22:56 Razón: solución encontrada
  #4 (permalink)  
Antiguo 28/04/2008, 17:25
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Re: Ejecutar Fórmula Macro

Pues si en lugar de solo Formula, colocaba FormulaLocal, pues, tambien podias colcoarlo en CAstellano

Abraham
  #5 (permalink)  
Antiguo 28/04/2008, 19:44
 
Fecha de Ingreso: noviembre-2004
Ubicación: Argentina
Mensajes: 18
Antigüedad: 19 años, 5 meses
Puntos: 0
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
  #6 (permalink)  
Antiguo 29/04/2008, 14:56
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Re: Ejecutar Fórmula Macro

Hummm... quita los STR y comentas

Abraham
  #7 (permalink)  
Antiguo 29/04/2008, 18:11
 
Fecha de Ingreso: noviembre-2004
Ubicación: Argentina
Mensajes: 18
Antigüedad: 19 años, 5 meses
Puntos: 0
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:06.