Seleccionar un area utilizando una variable como numero de fila

9 envíos / 0 nuevos
Último envío
Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 año 1 mes
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1785
Seleccionar un area utilizando una variable como numero de fila

Estoy intentando, (sin conseguirlo...) introducir en VBA una instruccion que me permita seleccionar un area que de antemano desconozco el numero de linea que le corresponderá... y por eso utilizo una variable...

Es decir, genero un listado, y quiero que en determinado momento cinco celdas de esa fila, tengan, por ejemplo el tipo de letra en negrita (bold).

No puedo utilizar la instruccion Range de la manera tradicional, como por ejemplo

 

Range("A1:E1").Select
With Selection.Font
    .Size = 12
    .Bold = True
End With

 

 porque eso supondría que esas celdas son de la A a la E de la fila 1 (Range("A1:E1")

En mi caso, a lo largo del listado, a veces será la línea 1 y otras veces será la fila 17, etc.  por lo que llevo una variable (nLinea) que va contando las lineas utilizadas en cada momento.

Llegado un momento, por ejemplo, cuando nLinea lleva el número 56 (nLinea = 56) entonces quiero que las celdas, desde la A hasta la E de esa fila 56 aparezcan en negrita pero no toda la fila 56.

Como se consigue hacer una seleccion como si fuera Range("Desde A nLinea : hasta E nLinea")...

Parece sencillo... pero no lo consigo...

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 22 horas 8 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Cells

En vez de referirte a las celdas como A3 utiliza Cells, por ejemplo

 Cells(3,1)  

así puedes emplear directamente una variable para referirte a la fila o columna que necesites

Cells(tufila,tucolumna)

 

------
Ya sé Excel, pero necesito más.

Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 año 1 mes
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1785
Re: Cells

Gracias Paco una vez mas por tu aportacion.

Pero tal como lo entiendo, no me resuelve la situacion.

Efectivamente puedo dirigirme a una celda de la forma que tu me indicas, y cuando necesito dirigirme a una celda o seleccionar una celda, lo utilizo de esa manera con frecuencia.

Pero en el caso presente quiero seleccionar cinco celdas seguidas, desde la columna A hasta la columna E de una linea cuyo numero esta almacenado en la variable nLinea.

La funcion Range no parece que me permite utilizar variables, y no se si hay alguna otra manera de conseguirlo.

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 22 horas 8 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Cells

puedes definir un rango mediante dos celdas, la esquina superior izquierda y la esquina inferior derecha, por ejemplo:

Range(cells(1,1),cells(nLinea,5))

 

------
Ya sé Excel, pero necesito más.

Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 año 1 mes
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1785
Re: Cells

De nuevo, amigo Paco, gracias.

Veras. Despues de tu primera respùesta, trate de hacer uso de la idea que me ofrecias, y como tantas otras veces, "los detalles" me hicieron tropezar.

En este caso, "el detalle".

Lo hice así:

Range(cells(nLinea,1):cells(nLinea,5))

y claro... me daba error...

Los "dos puntos" de la sintaxis "habitual" del Range, se convierten ahora en "coma"... y ahi estaba el detalle...

Aplicado ahora con la coma... todo funciona.

Muchas gracias.

Estoy seguro de que tus aclaraciones en estos pequeños detalles... ayudan un monton...

 

Cron
Imagen de Cron
Offline
última acción: Hace 7 meses 3 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Re: Seleccionar un area utilizando una variable como numero ...

También lo puedes resolver con Range

 

Como sabes, el argumento de Range va entre comillas. Eso significa que es un string. Así que trátalo como tal.

 

Si sabes las letras y no la fila, puedes hacer lo siguiente:

 

Range("A" & nLinea & ":E" & nLinea).Select


Más sencillo puede ser crear una variable de texto


Dim rango as string


y luego asignar a esta el valor de arriba:


rango = "A" & nLinea & ":E" & nLinea

Range (rango).Select



Saludos

Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 año 1 mes
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1785
Re: Seleccionar un area utilizando una variable como numero ...

De nuevo, amigo Cron, te has ganado mi agradecimiento.

Después de la solución de Paco, llega la tuya, igualmente sencilla y efectiva.

La he probado, y desde hoy, tus sugerencias, enriquecen mis pequeños conocimientos acumulados.

Da gusto tener preguntas... por el placer de encontrarse con las respuestas de los amigos.

Gracias Cron, y seguro que "hasta la próxima"... 

arduinolover18
Imagen de arduinolover18
Offline
última acción: Hace 5 años 10 meses
alta: 19/04/2018 - 19:23
Puntos: 55
Es sencillo, no se bien tu

Es sencillo, no se bien tu codigo, pero a ver si te das una idea 

te puse 2 variables desde y hasta que podrias tomar esos valores de donde sea

desde = 10

hasta = 20

Range("A" & desde & ":E" & hasta).Select

Luis del Sol (no verificado)
Imagen de Luis del Sol
Sumar filas desde precedente hasta x filas mas o menos.