Capturar rangos en una función

05/11/2004 - 17:46 por David | Informe spam
Saludos a todos. Los molesto con una consulta:

Tengo un problema que no he podido resolver cuando hago
funciones en Excel. El problema es que necesito "pasar"
a la función un rango como tal. Por ejemplo, necesito
que al usar el asistente de pegar función, al marcar
A1:C9 la función reciba en una variable "A1:C9", no los
valores de las celdas desde A1 hasta C9.

Hasta aquí lo que he hecho, es que al seleccionar el
rango, edito y le agrego comillas al principio y al
final, esto hace que el rango pase a la función como un
string. Pero es muy molesto para los usuarios finales, y
en ocasiones no lo hacen como es debido.

Gracias por la ayuda...

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
05/11/2004 - 18:15 | Informe spam
No sé si he entendido, pero creo que lo único que tienes que hacer es usar la propiedad Address del rango que se le pasa a la función, algo como:

Function prueba(rngR As Range) As String
prueba = rngR.Address(0, 0)
End Function

Un saludo.


Fernando Arroyo
MS MVP - Excel


"David" escribió en el mensaje news:043901c4c357$01bc8680$
Saludos a todos. Los molesto con una consulta:

Tengo un problema que no he podido resolver cuando hago
funciones en Excel. El problema es que necesito "pasar"
a la función un rango como tal. Por ejemplo, necesito
que al usar el asistente de pegar función, al marcar
A1:C9 la función reciba en una variable "A1:C9", no los
valores de las celdas desde A1 hasta C9.

Hasta aquí lo que he hecho, es que al seleccionar el
rango, edito y le agrego comillas al principio y al
final, esto hace que el rango pase a la función como un
string. Pero es muy molesto para los usuarios finales, y
en ocasiones no lo hacen como es debido.

Gracias por la ayuda...
Respuesta Responder a este mensaje
#2 David
05/11/2004 - 19:48 | Informe spam
Excelente, Fernando. Eso es precisamente lo que estaba
buscando.

Sólo le hice un cambio porque necesito también que me
devuelva el nombre de archivo y página:
.Address(0, 0, , 1)

Te agradezco al infinito.


No sé si he entendido, pero creo que lo único que tienes


que hacer es usar la propiedad Address del rango que se
le pasa a la función, algo como:

Function prueba(rngR As Range) As String
prueba = rngR.Address(0, 0)
End Function

Un saludo.


Fernando Arroyo
MS MVP - Excel


"David" escribió


en el mensaje news:043901c4c357$01bc8680
$
Saludos a todos. Los molesto con una consulta:

Tengo un problema que no he podido resolver cuando hago
funciones en Excel. El problema es que necesito "pasar"
a la función un rango como tal. Por ejemplo, necesito
que al usar el asistente de pegar función, al marcar
A1:C9 la función reciba en una variable "A1:C9", no los
valores de las celdas desde A1 hasta C9.

Hasta aquí lo que he hecho, es que al seleccionar el
rango, edito y le agrego comillas al principio y al
final, esto hace que el rango pase a la función como un
string. Pero es muy molesto para los usuarios finales,


y
en ocasiones no lo hacen como es debido.

Gracias por la ayuda...
.

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