Código para seleccionar un rango de celdas

Tengo una macro que ordena ciertos tipos de datos, y después manualmente selecciono la tabla y le doy el formato de "borde de cuadro grueso" para que tenga un marco que envuelva toda la tabla, lo que quisiera saber es que si hay algún código que le pueda insertar a la macro para que el formato del marco se pueda hacer automatico; no le puedo poner un numero celdas fijo porque los datos que se ordenan cambian del diario.
Tengo más o menos la idea de como hacerlo pero no me ha quedado, la idea que yo tengo es que excel busque desde el rango A1 hasta una celda antes de la que este vacia; es decir; supongamos que hasta A100 esta el ultimo dato de la tabla entonces que excel se detenga ahí y después excel busque la ultima columna de la tabla; es decir, suponer que el rango de la tabla sea A1:M100 entonces ya que excel detecto los bordes de la tabla seleccione toda la tabla y le aplique el formato de "borde de cuadro grueso".
De antemano muchas gracias

1 Respuesta

Respuesta
1
Podes empezar con esta, que te selecciona todo el rango siempre y cuando no haya col o filas vacías:
Range("A1").CurrentRegion.Select
Si habrá filas o columnas vacías en tu rango, tendrás que recorrer hacia arriba o hacia la izquierda para obtener la última fila y última col, con:
fila = Range("A65536").End(xlup).Row
col= Range("IV" & fila).End(xltoleft).column
Range("A1", Cells(fila,col)).Select

Las instrucciones para el borde (podés utilizar la grabadora y cambiar por otro estilo)
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Saludos
Elsa
Tus mejores opciones en manuales VBA desde:
http://es.geocities.com/lacibelesdepunilla/manuales
La respuesta fue más de lo que esperaba, muchas gracias.
Aprovechando de su amabilidad me podría ayudar con otro problemilla, lo que pasa es que quiero dividir una tabla de datos en varias pestañas; es decir en la hoja1 esta la tabla con ciertos datos en la columna "A" tengo nombres, en la columna "B" Números (que representan los días de atrasos de pago; generalmente es de 1 a 40 días de atraso) y en la columna "C" cantidades. Lo que quisiera poder hacer es que excel divida los datos y los vaya pegando en diferente hojas, de la siguiente forma: Hoja2 los datos que tengan de 1 a 10 días de atraso. Hoja3 los datos que tengan de 11 a 20 días de atraso y Hoja 4 los datos que tengan más de 20 días de atraso.
¿Se podrá hacer con una macro?
De antemano muchas gracias
Con macros se puede hacer prácticamente todo... pero, disculpa, lo que yo no puedo hacer es aceptar la mezcla de 2 consultas.
Por favor finaliza esta y deja la nueva en el tablón. Cualquier experto disponible o yo misma ni bien te llegue el turno, te la responderemos.
Saludos
Elsa
... para ahorrar tiempo una buena opción es el manual 400MacrosPlus
http://es.geocities.com/lacibelesdepunilla/manuales

Añade tu respuesta

Haz clic para o