Obtener posicion de celda que contiene un máximo.

18/05/2005 - 09:41 por Jonatan | Informe spam
Hola a todos, estoy desarrollando una "mini aplicación" en excel + VBA.
Necesito calcular un valor máximo dentro de un rango (que lo hago con el MAX)
y también la posición de la celda donde encotre el máximo. Eso lo hago con la
función COINCIDIR pero no me acaba de funcionar. He probado poner los rangos
de dos formas distintas (con el MAX si me funcionan) y ninguna va (no es que
no encuentre el valor sino que da error al ejecutarse). Lo curioso es que si
pego la parte entre comillas de la primera linea que expongo abajo, en el
excel directamente , FUNCIONA!!!, alguna solución?

ActiveCell.FormulaR1C1 "=COINCIDIR(543;C2:C24;0)"
ActiveCell.FormulaR1C1 "=COINCIDIR(543;R[-3960]C:R[-3937]C;0)"

Gracias.

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
18/05/2005 - 09:56 | Informe spam
Si usas las funciones de hoja de cálculo en español, tendrás que usar la propiedad FormulaR1C1Local, pero mis consejos son:

- que pongas las funciones en inglés, usando la propiedad FormulaR1C1Local. Excel traducirá automaticamente la fórmula al idioma en que se esté ejecutando, y si alguna vez cambia dicho idioma el código podría seguir ejecutándose sin problemas
- que si conoces las direcciones absolutas de los rangos con que estás trabajando (como parece ser el caso), uses la propiedad Formula.

Así pues, la instrucción podría ser:

ActiveCell.Formula = "=MATCH(543,C2:C24,0)"

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Jonatan" escribió en el mensaje news:
Hola a todos, estoy desarrollando una "mini aplicación" en excel + VBA.
Necesito calcular un valor máximo dentro de un rango (que lo hago con el MAX)
y también la posición de la celda donde encotre el máximo. Eso lo hago con la
función COINCIDIR pero no me acaba de funcionar. He probado poner los rangos
de dos formas distintas (con el MAX si me funcionan) y ninguna va (no es que
no encuentre el valor sino que da error al ejecutarse). Lo curioso es que si
pego la parte entre comillas de la primera linea que expongo abajo, en el
excel directamente , FUNCIONA!!!, alguna solución?

ActiveCell.FormulaR1C1 "=COINCIDIR(543;C2:C24;0)"
ActiveCell.FormulaR1C1 "=COINCIDIR(543;R[-3960]C:R[-3937]C;0)"

Gracias.
Respuesta Responder a este mensaje
#2 Jonatan
18/05/2005 - 11:12 | Informe spam
Ok gracias va perfecto.

"Fernando Arroyo" escribió:

Si usas las funciones de hoja de cálculo en español, tendrás que usar la propiedad FormulaR1C1Local, pero mis consejos son:

- que pongas las funciones en inglés, usando la propiedad FormulaR1C1Local. Excel traducirá automaticamente la fórmula al idioma en que se esté ejecutando, y si alguna vez cambia dicho idioma el código podría seguir ejecutándose sin problemas
- que si conoces las direcciones absolutas de los rangos con que estás trabajando (como parece ser el caso), uses la propiedad Formula.

Así pues, la instrucción podría ser:

ActiveCell.Formula = "=MATCH(543,C2:C24,0)"

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Jonatan" escribió en el mensaje news:
> Hola a todos, estoy desarrollando una "mini aplicación" en excel + VBA.
> Necesito calcular un valor máximo dentro de un rango (que lo hago con el MAX)
> y también la posición de la celda donde encotre el máximo. Eso lo hago con la
> función COINCIDIR pero no me acaba de funcionar. He probado poner los rangos
> de dos formas distintas (con el MAX si me funcionan) y ninguna va (no es que
> no encuentre el valor sino que da error al ejecutarse). Lo curioso es que si
> pego la parte entre comillas de la primera linea que expongo abajo, en el
> excel directamente , FUNCIONA!!!, alguna solución?
>
> ActiveCell.FormulaR1C1 "=COINCIDIR(543;C2:C24;0)"
> ActiveCell.FormulaR1C1 "=COINCIDIR(543;R[-3960]C:R[-3937]C;0)"
>
> Gracias.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida