Seleccionar area por favor

22/08/2006 - 14:39 por Jonathan Milla | Informe spam
Por favor quisiera poder seleccionar de un rango fijo, solo las celdas que
tengan
valor diferente a 999.
Ejemplo:
A B C
1 2 alfa 50
2 1 beta 120
3 4 charly 52
4 999
5 999


Quisiera que solo seleccionara de A1:C3
Y si luego A4 tuviera valor diferente a 999 pues seleccionar A1:C4

Se los agradezco bastante.
 

Leer las respuestas

#1 David
22/08/2006 - 16:25 | Informe spam
Hla, Jonathan. Sólo algo que no comentaste: ¿Para qué las quieres
seleccionar? ¿Para copiarlas? ¿Y qué si hay números 999 en medio de tus
filas?

Si quisieras seleccionar "hasta" encontrar el primer 999, podrías recorrer
la columna A, y al encontrar este valor, detenerte y seleccionar el rango.
Algo como esto:

Sub Seleccionar1()
Dim Fila, Seguir As Boolean, Rango As String
Fila = 1: Seguir = True
Do
If Len(Cells(Fila, 1)) = 0 Then
Seguir = False
Else
If Cells(Fila, 1) = 999 Then Seguir = False Else Fila = Fila + 1
End If
Loop While Seguir
Range("A1:C" & Fila - 1).Select
End Sub

Ahora, si hubieran celdas con 999 entre los datos, el problema se complica
bastante. En ese caso, te sugeriría pensar en alternativas. Una opción,
podría ser buscar las celdas con el valor 999 y aplicarles un alto de fila
cero. Luego seleccionas el rango y ejecutas un "ir a - especial" para
seleccionar las celdas visibles. Algo como esto:

Sub Seleccionar2()
Dim Fila As Integer, Seguir As Boolean
Fila = 1: Seguir = True
Do
If Len(Cells(Fila, 1)) = 0 Then
Seguir = False
Else
If Cells(Fila, 1) = 999 Then Cells(Fila, 1).RowHeight = 0
Fila = Fila + 1
End If
Loop While Seguir
Range("A1:C" & Fila - 1).Select
Selection.SpecialCells(xlCellTypeVisible).Select
End Sub

Y luego podrías restaurar los altos de fila:

Sub Restaurar()
Range("1:65536").Select
Selection.EntireRow.Hidden = False
Range("A1").Select
End Sub

Espero que estas ideas te sean útiles. Si no, ampía un poco tu consulta y
veremos... ;-)

Saludos.



"Jonathan Milla" escribió:

Por favor quisiera poder seleccionar de un rango fijo, solo las celdas que
tengan
valor diferente a 999.
Ejemplo:
A B C
1 2 alfa 50
2 1 beta 120
3 4 charly 52
4 999
5 999


Quisiera que solo seleccionara de A1:C3
Y si luego A4 tuviera valor diferente a 999 pues seleccionar A1:C4

Se los agradezco bastante.




Preguntas similares