Seleccionar celdas con el resultado de la seleccion de otras

5 envíos / 0 nuevos
Último envío
rulesagain
Imagen de rulesagain
Offline
última acción: Hace 7 años 3 meses
Nivel 1 - 200 puntos
alta: 22/10/2011 - 23:50
Puntos: 210
Seleccionar celdas con el resultado de la seleccion de otras

Buenas tardes, esperando que estés pasando un excelente fin de semana.
como puedo hacer una macro que me seleccione un numero de celdas de acuerdo al resultado  de la siguiente linea

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

Dependiendo del numero de celdas encontradas eses el mismo numero de celdas que debe seleccionar hacia abajo-

Como en este ejemplo

Encuentra tres celdas con datos en el rango i1 , despues se recorre seis celdas hacia la izquierda entonces donde quedo debe seleccionar 3 celdas hacia abajo

Range("I1").Select
'selecciona la primer celda con datos
Selection.End(xlDown).Select
'Selecciona todas las celdas con datos hacia abajo
Range(Selection, Selection.End(xlDown)).Select
'se recorre seis celdas a la izquierda
ActiveCell.Offset(0, -6).Select

De antemano agradezco la ayuda

Saludos

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 14 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11005
junta varios pasos en uno solo

Hola wil

estás dando varios pasos, pero puedes agruparlos.

Primero seleccionas un rango con Range(Selection, Selection.End(xlDown)).Select

pero luego haces el offset con la celda activa

¿por qué no hacer directamente el Offset de todo el rango?, no hace falta seleccionarlo antes.

 

prueba con esto:

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

 

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

rulesagain
Imagen de rulesagain
Offline
última acción: Hace 7 años 3 meses
Nivel 1 - 200 puntos
alta: 22/10/2011 - 23:50
Puntos: 210
Re: junta varios pasos en uno solo

Hola Paco gracias por responder

 

Si se reduce mi macro y obtengo el resultado que necesito, no sabia que se podia agrupar en una linea

Antes de cerrar mi pregunta puedes echarle un ojo a mi macro para saber si tengo mas errores??

 

En si lo que hace es ir a la columna I busca la primera celda con datos de ahi selecciona todas las celdas con datos y se recorre tras celdas a la izquierda, copia el contenido y se va a la columna A, nuevamente busca la ultima celda vacia y ahi pega la informacion al final elimina las columnas donde estaban los datos.

 

Sub macris_buena()
Range("I1").Select
Selection.End(xlDown).Select
Range(Selection, Selection.End(xlDown)).Offset(0, -3).Select
'En esta parte puedo hacer que se seleccionen las cuatro celdas a la vez??
Selection.Copy
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
'Range("L:L,M:M,N:N,O:O,P:P").Select
'Selection.Delete Shift:=xlToLeft
'Range("A1").Select
'Range("A1") = WorksheetFunction.CountA(Range(Selection, Selection.End(xlDown)))
End Sub

 

te adjunto el ejemplo

De antemano te agradezco.

Saludos

AdjuntoTamaño
Office spreadsheet icon macro_seleccion.xls35 KB

Wil

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 14 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11005
Re: junta varios pasos en uno solo

Bueno, la parte de tomar los datos de la columna I y pegarlos en la columna A lo hace bien.

lo de eliminar las celdas con datos que está comentado... entiendo que quieres eliminar desde la columna F hasta la I

si son las columnas enteras, prueba con 

Range("F:I").Delete

 

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

rulesagain
Imagen de rulesagain
Offline
última acción: Hace 7 años 3 meses
Nivel 1 - 200 puntos
alta: 22/10/2011 - 23:50
Puntos: 210
Re: junta varios pasos en uno solo

no veo como finalizar la pregunta

 

De antemano te agradezco la ayuda +

 

Saludos

Wil