rango dinamico desde la hoja

10/10/2003 - 00:11 por Rene Moreno | Informe spam
Hola Grupo.
La cuestión es la siguiente:
Se puede crear con funciones de la hoja, no con VBA, un rango dinámico
parecido a
la instrucción Currentregion de VBA, por ejemplo, si el rango A1:B2 se
llama "zona" y tiene datos puedo haber una búsqueda con
BUSCARV(val,zona,2,0). Lo que quiero es que si agrego mas datos abajo de esa
fila amplié el área de zona de A1:C2. Espero haberme explicado bien. Supongo
que hay que usar la función DESREF() pero aun no llego a al solución si es
que la hay.
Agradeceré todas las sugerencias posibles.

Saludos
Rene Moreno
"Ser conciente de la propia ignorancia es un gran paso hacia el saber"

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
10/10/2003 - 11:51 | Informe spam
Si alguna de las columnas de las que extrae los datos la tabla dinámica no tiene celdas vacías entre medias, puedes crear un rango dinámico (Insertar->Nombre->Definir) y poner en "Se refiere a:" la siguiente fórmula:

ÞSREF(Hoja1!$A$1;0;0;CONTARA(Hoja1!$A:$A);3)

(suponiendo que la columna sin celdas vacías fuera la A y que el número de columnas fuera 3).
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Rene Moreno" escribió en el mensaje news:
Hola Grupo.
La cuestión es la siguiente:
Se puede crear con funciones de la hoja, no con VBA, un rango dinámico
parecido a
la instrucción Currentregion de VBA, por ejemplo, si el rango A1:B2 se
llama "zona" y tiene datos puedo haber una búsqueda con
BUSCARV(val,zona,2,0). Lo que quiero es que si agrego mas datos abajo de esa
fila amplié el área de zona de A1:C2. Espero haberme explicado bien. Supongo
que hay que usar la función DESREF() pero aun no llego a al solución si es
que la hay.
Agradeceré todas las sugerencias posibles.

Saludos
Rene Moreno
"Ser conciente de la propia ignorancia es un gran paso hacia el saber"


Respuesta Responder a este mensaje
#2 Rene Moreno
10/10/2003 - 15:51 | Informe spam
Gracias Fernando pero ya tenia ese método, y aun esta el problema de que la
función CONTARA busca en toda la columna y eso es precisamente lo que quiero
evitar. Esperaba que hubiera algo así como el Currentregion. En fin, supongo
que no hay de otra que usar este metodo.
Gracias de nuevo por tu tiempo.

Rene Moreno
"La imaginación es mas importante que el conocimiento"
Albert Einstein
Respuesta Responder a este mensaje
#3 Héctor Miguel
10/10/2003 - 18:09 | Informe spam
Rene Moreno escribio en el mensaje
... aun ... problema de que .. CONTARA busca en toda la columna y eso es precisamente lo que quiero evitar.
... que hubiera algo así como el Currentregion ... supongo que no hay de otra que usar este metodo.



si te 'estorba' hacer referencia a la columna completa [supongo que] es porque hay 'otro tipo' de datos mas abajo [???]
[si es el caso] puedes referenciar un rango 'especifico' [de esa columna] => MAS UNA CELDA VACIA <= [al menos]
lo cual [obviamente] implica que para 'extender' el rango dinamico SE REQUIERE => INSERTAR <= las filas necesarias
[partiendo de 'esa' celda vacia] para 'mantener la flexibilidad' del rango dinamico.

solo como un comentario adicional, te recuerdo que los argumentos de la funcion DesRef(ref,filas,columnas,alto,ancho)
tienen el siguiente 'significado' =>y pueden ser formulas y/o funciones 'combinadas'<=:
ref = referencia a la celda inicial
filas = numero de filas que se desplazara [positivo->abajo, negativo->arriba, cero [u omitido]->la misma]
columnas = numero de columnas a desplazar [positivo->derecha, negativo->izquierda, cero/omitido->la misma]
alto = numero de filas a incluir [positivo->aumentar, negativo->disminuir, cero/omitido->las mismas]
ancho = numero de columnas a incluir [positivo->aumentar, negativo->disminuir, cero/omitido->las mismas]

Saludos,
Héctor.
Respuesta Responder a este mensaje
#4 MRGT
11/10/2003 - 02:03 | Informe spam
Bien, creo que lo puedes hacer de la siguiente forma con la función DesRef
como sugieres:

Suponte que tienes una tabla inicial definida como un nombre digamos 'BDD'
que se refiere a L1C1:L10C5
podrias escribir la función BUSCARV("Miguel Ángel";BDD;3;FALSO), si el valor
buscado está en una celda contenida en la primera columna del rango 'BDD'
que te devolvería el valor de la celda de la columna 3 del rango y cuya fila
contiene "Miguel Ángel" en la columna 1, ¿vale?

Ahora amplias los datos digamos hasta la fila 30, pero no modificas el
rango, entonces la función a escribir sería:
BUSCARV("Lola";DESREF(BDD;;;FILA(BDD)+30;);3;FALSO)

Para sencillez el valor de ampliación podría estar una celda debajo de donde
escribes la función, quedando finalmente como:
BUSCARV("Lola";DESREF(BDD;;;FILAS(BDD)+L(1)C;);3;FALSO)

Espero te sea de utilidad
MRGT

"Rene Moreno" escribió en el mensaje
news:
Hola Grupo.
La cuestión es la siguiente:
Se puede crear con funciones de la hoja, no con VBA, un rango dinámico
parecido a
la instrucción Currentregion de VBA, por ejemplo, si el rango A1:B2 se
llama "zona" y tiene datos puedo haber una búsqueda con
BUSCARV(val,zona,2,0). Lo que quiero es que si agrego mas datos abajo de


esa
fila amplié el área de zona de A1:C2. Espero haberme explicado bien.


Supongo
que hay que usar la función DESREF() pero aun no llego a al solución si es
que la hay.
Agradeceré todas las sugerencias posibles.

Saludos
Rene Moreno
"Ser conciente de la propia ignorancia es un gran paso hacia el saber"


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