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

¿Cómo referenciar rango variable en hoja excel mediante macro??

Estas en el tema de ¿Cómo referenciar rango variable en hoja excel mediante macro?? en el foro de Ofimática en Foros del Web. Hola a todos! Estoy intentando crear una hoja excel que me permita realizar una serie de operaciones pero condicionadas a un rango en particular para ...
  #1 (permalink)  
Antiguo 02/05/2012, 08:55
Avatar de milolo  
Fecha de Ingreso: mayo-2007
Ubicación: Huelva. España
Mensajes: 63
Antigüedad: 16 años, 11 meses
Puntos: 0
¿Cómo referenciar rango variable en hoja excel mediante macro??

Hola a todos!

Estoy intentando crear una hoja excel que me permita realizar una serie de operaciones pero condicionadas a un rango en particular para cada caso. Os lo explico mejor con un ejemplo:

Tengo unos valores en la columna "B" que quiero promediar pero siempre y cuando los valores de la columna "C" estén dentro de un intervalo y que me de el resultado en las celdas de la columna "G". Por ejemplo, esto sería:

Código:
ActiveSheet.Range("g2").FormulaLocal="=promedio.si.conjunto(B:B;C:C;"">-1"";C:C;""<0,8"")"
Esta fórmula me daría el promedio de los valores de la columna "B" siempre y cuando los valores de "C" estén dentro del intervalo definido [-1 - 0,8]. (NOTA: la coma del 0,8 debe ser esta y no el punto del teclado numérico)

Hasta aquí todo bien, sin embrago, como esto lo tendría que repetir muchas veces, he pensado usar lo mismo pero definiendo una variable que irá cambiando y con ella el valor del intervalo en el que se debe hacer el promedio. Os pongo lo que yo tengo pensado:

Código:
For i=1 to 30

Dim k
Dim inf
Dim sup

k=3

inf=k-2.2
sup=k-1.2

ActiveSheet.Range("g"&k).FormulaLocal="=promedio.si.conjunto(B:B;C:C;"">inf"";C:C;""<sup"")"
k=k+1

Next
La cosa es que esto último no funciona ya que no me reconoce como variables "inf" ni "sup" y escribe la formula literalmente... Vamos, que no sé como referenciar a una variable dentro de mi fórmula...

Seguramente sea una tontería pero os agradecería si pudierais echarme una mano.

Muchísimas gracias de antemano!
  #2 (permalink)  
Antiguo 03/05/2012, 18:15
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo Respuesta: ¿Cómo referenciar rango variable en hoja excel mediante macro??

Podrías intentar:

Código PHP:
With Range("g3:g30")
  .
Formula "= AVERAGEIFS(B:B,C:C,"">"" & (ROW() - 2.2),C:C, ""<"" & (ROW() - 1.2))"
  
.Value = .Value
End With 
  #3 (permalink)  
Antiguo 04/05/2012, 05:34
Avatar de milolo  
Fecha de Ingreso: mayo-2007
Ubicación: Huelva. España
Mensajes: 63
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: ¿Cómo referenciar rango variable en hoja excel mediante macro??

He probado lo que me has dicho y funciona perfectamente!!

Muchísimas gracias por tu ayuda mrocf!!
  #4 (permalink)  
Antiguo 05/05/2012, 11:20
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Respuesta: ¿Cómo referenciar rango variable en hoja excel mediante macro??

¡Fue un gusto! y me alegra que te sirviera la idea de "esquivar" el loop "For - Next"...

Etiquetas: excel, funcion, hoja, mediante, rango, reconoce, variables
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




La zona horaria es GMT -6. Ahora son las 20:28.