Obtener rango

18/05/2004 - 09:44 por Rubén | Informe spam
Hola a todos,

estoy haciendo una macro que realiza una consulta a una base de datos y me
gustaría obtener, después de importar los datos, que rango de celdas ha
utilizado para despues darle formato.

un saludo y gracias.

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
18/05/2004 - 11:04 | Informe spam
"Rubén" escribió en el mensaje news:%
Hola a todos,

estoy haciendo una macro que realiza una consulta a una base de datos y me
gustaría obtener, después de importar los datos, que rango de celdas ha
utilizado para despues darle formato.

un saludo y gracias.





Puedes usar la propiedad ResultRange de la consulta, algo como p.ej.:

Worksheets("Hoja1").QueryTables(1).ResultRange.Interior.ColorIndex = 40

Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#2 Rubén
18/05/2004 - 11:46 | Informe spam
No consigo hacerlo como me has dicho...

"Fernando Arroyo" escribió en el mensaje
news:u%
"Rubén" escribió en el mensaje
news:%
Hola a todos,

estoy haciendo una macro que realiza una consulta a una base de datos y me
gustaría obtener, después de importar los datos, que rango de celdas ha
utilizado para despues darle formato.

un saludo y gracias.





Puedes usar la propiedad ResultRange de la consulta, algo como p.ej.:

Worksheets("Hoja1").QueryTables(1).ResultRange.Interior.ColorIndex = 40

Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#3 Fernando Arroyo
18/05/2004 - 12:06 | Informe spam
Yo he supuesto que te estabas refiriendo a una consulta creada desde Datos->Obtener datos externos->Nueva consulta de base de datos (o usando su equivalente en VBA), y en este caso la propiedad ResultRange sí debería funcionar.

Pero si estamos hablando de otro tipo de acceso a los datos (ADO o DAO, por ejemplo), la cosa, lógicamente, cambiaría.

Sin más datos es poco lo que puedo añadir.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Rubén" escribió en el mensaje news:%
No consigo hacerlo como me has dicho...

"Fernando Arroyo" escribió en el mensaje
news:u%
"Rubén" escribió en el mensaje
news:%
> Hola a todos,
>
> estoy haciendo una macro que realiza una consulta a una base de datos y me
> gustaría obtener, después de importar los datos, que rango de celdas ha
> utilizado para despues darle formato.
>
> un saludo y gracias.
>
>

Puedes usar la propiedad ResultRange de la consulta, algo como p.ej.:

Worksheets("Hoja1").QueryTables(1).ResultRange.Interior.ColorIndex = 40

Un saludo.


Fernando Arroyo
MS MVP - Excel


Respuesta Responder a este mensaje
#4 Rubén
18/05/2004 - 12:47 | Informe spam
Estabas en lo cierto! he conseguido ponerles bordes al resultado de la
consulta de esta forma:

Set c1 = Sheets(1).QueryTables(1).ResultRange
c1.Borders.Color = 1
Set c1 = Nothing

Gracias.


"Fernando Arroyo" escribió en el mensaje
news:ecxm8%
Yo he supuesto que te estabas refiriendo a una consulta creada desde
Datos->Obtener datos externos->Nueva consulta de base de datos (o usando su
equivalente en VBA), y en este caso la propiedad ResultRange sí debería
funcionar.

Pero si estamos hablando de otro tipo de acceso a los datos (ADO o DAO, por
ejemplo), la cosa, lógicamente, cambiaría.

Sin más datos es poco lo que puedo añadir.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Rubén" escribió en el mensaje
news:%
No consigo hacerlo como me has dicho...

"Fernando Arroyo" escribió en el mensaje
news:u%
"Rubén" escribió en el mensaje
news:%
> Hola a todos,
>
> estoy haciendo una macro que realiza una consulta a una base de datos y


me
> gustaría obtener, después de importar los datos, que rango de celdas ha
> utilizado para despues darle formato.
>
> un saludo y gracias.
>
>

Puedes usar la propiedad ResultRange de la consulta, algo como p.ej.:

Worksheets("Hoja1").QueryTables(1).ResultRange.Interior.ColorIndex 40

Un saludo.


Fernando Arroyo
MS MVP - Excel


Respuesta Responder a este mensaje
#5 Fernando Arroyo
18/05/2004 - 13:19 | Informe spam
"Rubén" escribió en el mensaje news:
Estabas en lo cierto! he conseguido ponerles bordes al resultado de la
consulta de esta forma:

Set c1 = Sheets(1).QueryTables(1).ResultRange
c1.Borders.Color = 1
Set c1 = Nothing

Gracias.




De nada :-)

Tu código es correcto, pero pienso que debería ser posible reducirlo a una sola instrucción:

Sheets(1).QueryTables(1).ResultRange.Borders.Color = 1

puesto que la propiedad ResultRange lo que devuelve es un rango.
Un saludo.


Fernando Arroyo
MS MVP - Excel
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida