Rango de base de datos variable

Niko

New Member
Joined
Jul 4, 2002
Messages
10
Hola, estoy haciendo una macro y estoy teniendo problemas en la sentencia del Vlookup.
Mas precisamente en la parte del table array o rango de la base.
Este valor para mi es desconocido. puesto que las hoja excel que abro tiene diferente cantidad de líneas (el formato siempre es el mismo), solo cambia la cantidad de información que viene. Ya que son las ventas diarias y hay días que se vende más y otros que se vende menos.
La pregunta es hay alguna forma de saber el rango de la base ?, entiendo que podría sobre dimensionar el rango de la base pero siempre estaría el riesgo de que información quede afuera de la búsqueda.

Muchas gracias por la ayuda que puedan prestar
Saludos
Nicolás
 

Excel Facts

Square and cube roots
The =SQRT(25) is a square root. For a cube root, use =125^(1/3). For a fourth root, use =625^(1/4).
Hola Nicolás. Sí se puede. La forma más sencilla es un rango nombrado dinámico (dynamic named range). Disculpe pero tengo prisa en este momento. Aquí están mis instrucciones en inglés. Trataré de traducirlas al castellano hoy más tarde o mañana.

Dynamic Named Ranges

Dynamic named ranges can be used just like normal named ranges in formulas, or as sources for things like pivot tables and charts. However instead of a normal named range where the group of cells being referred to is static, dynamic ranges typically take advantage of the Offset() and CountA() [or Count()] functions to create a range that resizes to include new data appended to the bottom of the range.


To Create a Dynamic Range
  1. From the menu Insert | Name | Define...
  2. In the Names in Workbook textbox, type in the name for the Named Range - probably something like "Data" or "DataRange".
  3. In the Refers to textbox type in a formula like the following (note: you may find it helpful to hit the F2 key while in the textbox to put it into "edit mode"):
    • =OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),9) to start at A1, include all non-blank rows and 9 columns. (Good example for pivot tables where you want to include headers.)
    • =OFFSET(Sheet1!$B$2,0,0,COUNT(Sheet1!$B:$B),1) to start at B2, include all numeric rows and 1 column. (Good example for a chart data series.)
    • =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A)-1,1) to start at A2, include one less than the count of all non-blank rows and 1 column. (Good example for a chart category series where values are not numeric.)
  4. You're ready to reference the Named Dynamic Range like you would a normal Named Range.
Además, si usted nos puede dar un pequeño ejemplo de sus datos podríamos ofrecerle unos ejemplos más concretos.
 
Last edited:
Upvote 0
Rangos Nombrados Dinámicos
Rangos nombrados dinámicos se puede usar como un rango nombrado en fórmulas o como fuentes de cosas como tablas dinámicas (pivot tables) y gráficos. En el caso de un rango nombrado normal la referencia es estática. En cambio un rango nombrado dinámico emplea OFFSET() y COUNTA() o COUNT() para crear un rango que cambia de tamaño para incluír datos nuevos añadido al fin del rango.


Para Crear un Rango Dinámico
  1. Del menú Insert | Name | Define...
  2. En la caja de texto Names in Workbook escriba el nombre deseado del rango - probablemente algo como "Datos" o "RangoDeDatos"
  3. En la caja de texto Refers to ponga una fórmula como la siguiente (puede ayudarle si presiona la tecla F2 para poner la caja de texto a "modo de editar"):
    • =OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),9) para empezar en celda A1, e incluir todas las filas no vacias en columna A y 9 columnas. (Por ejemplo para una tabla dinámica donde quiere incluir cabezas.)
    • =OFFSET(Sheet1!$B$2,0,0,COUNT(Sheet1!$B:$B),1) para empezar en celda B2 e incluir todas las filas con datos numericos en columna b y solamente la columna B. (Un ejemplo sería una serie para un gráfico.)
    • =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A)-1,1) para empezar con A2 e incluir una fila menos que la cuenta de filas no vacias en columna A y una columna (un ejemplo sería una serie de gráfico donde los valores no son numericos.)
  4. Ahora usted está listo para usar un Rango Nombrado Dinámico como un rango normal.
 
Upvote 0

Forum statistics

Threads
1,223,969
Messages
6,175,691
Members
452,667
Latest member
vanessavalentino83

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top