Como asignar nombre de rango variable a otra variable para utilizar una función usando vba .

Estoy utilizando una macro en VBA para hallar por ejemplo el promedio

Pero quiero que el rango sea dinámico es decir

Range("c5").FormulaLocal = "=promedio(" & rango & ")"

Donde rango sea f4:f30 o mejor aun f4:fultima fila

Me podrían ayudar.

Lo que quiero hallar es mediana, moda. Uno etc y como ven debo de poner muchas veces el rango .

1 respuesta

Respuesta
1

Te mando un ejemplo de como se haría.

Sub ejemplo()
'por luismondelo
Range("c5").Formula = "=average(f4:f" & Range("f65000").End(xlUp).Row & ")"
End Sub

recuerda finalizar la consulta

Muchas gracias sale correcto pero una consulta mas si average(rango) yo quería poner rango = f4:f" & Range("f65000").End(xlUp).Row & " como lo tendría que declarar yo le puse string pero no lo acepta me parece que debe ser range pero me sale error

de antemano gracias

yo deseaba hallar

Range("c6").FormulaLocal = "=mediana(" & rango & ")"
Range("c7").FormulaLocal = "=moda.uno(" & rango & ")"

gracias

Cuando escribimos fórmulas desde vba se escriben en inglés, por lo que siguiendo mi ejemplo podrás hacer otros pero no vale escribir mediana... moda. Uno... tienes que buscar su equivalencia en inglés tal y como se escriben en un excel en inglés.

Gracias por tu ayuda con el procedimiento que me diste sale correcto con formula local también sale y es mas fácil acordarme de las funciones

Range("m5").FormulaLocal = "=promedio(Hoja1!f4:f" & Range("f65000").End(xlUp).Row & ")"

pero yo quería asignar a una variable por ejemplo rango = Hoja1!f4:f" & Range("f65000").End(xlUp).Row & "

para no escribirlo a cada rato y de que tipo debería ser mi variable range o string a mi me sale error . Nuevamente gracias por tus aclaraciones

Bien, en ese caso sería así:

Sub ejemplyyo()
'por luismondelo
rango = "f4:f" & Range("f65000").End(xlUp).Row
Range("c5").Formula = "=average(" & rango & ")"
End Sub

recuerda finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas