Seleccionar celdas continuas de un rango

Se puede seleccionar varias celdas continuas de un rango variable con vba

Por ejemplo

a b c d

1 2 3 4

2 5 6 7

3 4 5 6

Si tengo seleccionado el rango A1:A3 y necesito que la macro haga la selección de A1:D3

Pero el problema es que al final el rango es variable, es decir puede ser el rango de A1:A2, E1:E2, GA1:FA:20, ETC...

Con este código solo he podido hacer que se mueva la selección

Range(Selection, Selection.End(xlDown)).Offset(0, -3).Select

Y con este si selecciona todo pero se va hasta la ultima columna y solo quiero que se mueva seis a la derecha.

Range(Selection, Selection.End(xlToRight)).Select

1 respuesta

Respuesta
1

Con esta instrucción

Ejemplo1

Range("A1:A2,E1:E2,GA1:FA20").Select

Ejemplo2

Range("B5:D5,B7:D7,B9:D9").Select

Saludos. Dam

Gracias nuevamente amigo Dam si sirve tu código pero solo es cuando se conoce la selección de celdas y que es fija.

Range(Selection, Selection.End(xlToRight)).Select

En el código ya esta definida la selección y si recorro hacia las columnas que necesito lo hace hacia la derecha hasta donde encuentra la ultima celda llena y lo que requiero es que yo indicarle cuantas necesito que recorra como cuando se utiliza Offset(0, 3).

Mi problema con Offset es que solo se va recorriendo celda por celda y no desde donde inicia la selección hasta donde tiene que terminar

Saludos

Entonces si lo que quieres es, de la celda seleccionada, seleccionar hacia la derecha un determinado número de columnas, utiliza lo siguiente

Range(ActiveCell, Cells(ActiveCell.Row, ActiveCell.Column + 3)).Select

Saludos. Dam
Si es lo que necesitas.

Dam:
Graciaaaaaaaaaaaaaaaaaaaaaaaaaaas


Ya lo resolví con tu ejemplo solo le hice una pequeña modificación.


Original
Range(ActiveCell, Cells(ActiveCell.Row, ActiveCell.Column + 3)).Select


Final
Range(Selection, Cells(ActiveCell.Row, ActiveCell.Column + 2)).Select


Te agradezco infinitamente el tiempo invertido
Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas